anonimasu: Can you slide in long ones or do they have to drop down a hole?
* Phydbleep is thinking of make a couple of multi-hole bars to fit the slots..
rayh: you here?
get me mail?
re the wiki page yep
is that what you wanted? (updated it just now, by the by)
Looks good to me. I like the project.
is there somewhere I can put one or two movie files of it cutting product?
robin must be away. When he gets back you should ask if he can serve em
I fugured it might be nice if people could see EMC making parts that get used by the masses
I asked John, but will ask you as well...
are you aware of any EMC type flash (stickers or such) that anyone might have made up?
I want to give EMC some credit on this bike project since it will be getting some national attention
I have to get some work done, but will check baq later. mail me if you knwo of anything.
Googling for quaternions, splines & interpolation turns up some really nasty math
paul_c: Tell me about it.. Wait till you try to work backwards and get J.C.Maxwell's treatise on gravity. :)
I'm going to sleep on it....
* paul_c gone.
* mshaver is away: mshaver
it's really boring boring.
A-L-P-H-A: So now you know why they are called 'boring tools' :)
that took me an hour to drill a 1" hole through 3.75" of aluminium. pilot, 8mm, four more drills, 1". Now I gotta using a boring bar to get to close to 1.1250", and then ream. Argh. all this for a highspeed spindle which would have cost me cheaper to just buy.
but not as rewarding.
* mshaver is back
long time no chat
was it something I said?
maybe we all smell
or his connection is bad
no, it was a part.
not a disconnect.
he just hates you jmkasunich.
guess so ;-)
It was my stance on G92 ;)
that must be it
my stance on boring is boring
weyland: what parts do you make with EMC?
mostly just custom stuff for either customers, or myself (ideas I have)
I've been using it to prototype something that I've put into the patent process and will be marketing
I start making them on a production level tomorrow
how much does a patent cost now?
TOO FSCKING MUCH
actually, it's relatively cheap
why's it cost so much?
but the FSKING hassle is immeasurable
weyland, how much? ballpark
I think it was about $125 total
BEAR IN MIND~!...
uh, that's IT?
I have done everything myself
I haven't hired a patent attorney
sving an estimated 10K
over the life of the patent, I think the numbers are 5K in fees
This has been very painful, actually
learning the process, vernacular, and ins and outs
If I had the 10K I would GLADLY pay someone to do it
To answer your question more acutely...
I make anything that anyone thinks up and brings me
I like experimenting and making things
As for EMC...
it's done so well on my mill, that I'm starting a lathe conversion tomorrow
do you need threading?
it will be a machine dedicated to making some of the other products I already sell
I do, and know that it isn't there yet, but will thread by hand for now, as it's an easy part
you talking about nutz?
you've been in the store, I see... (:>)
yeah... I surfed the site the other day
EMC will save me time on cutting those profiles
what's th url again?
[02:19:17] <weyland> http://solutionsmachining.com/store
I will also be using EMC to cut the Hemi chambers in my HemiEvo head conversions
a good friend of mine just picked up a complete casting set up
We're gonna colaborate on some projects
Much of the patterns will be made on Milly
ACtually, probably all of the patterns...
To weyland. I was reading your wiki page this afternoon and I am having the same problem with backlash compensation. I wa wondering if you could provide somemore info do me on the steps you took to correct this. Ie installing EMC2. I am converting a RF45 Mill.
Thanks to these guys, it's practically easier than a brain fart
How do we go about this?
I was thinking about that earlier, and think I will update the wiki page with the exact instructions John gave me, since it worked so darn well
I just need to check with him to make sure that it's okay to use that branch (version) for public consumption.
oops, I see he's here
yeah, go ahead
That would be great. What time frame are we talking about?
probably later tonight
bpmw: do you have BDI-4.20?
it's a snap, then
I give up on machining today.
weyland's wiki page already has a link to another wiki page that tells you how to get your 4.20 system ready for compiling
Does the computer running BDI 4.20 have to be on the net?
that's the first step
both to get some debian packages needed to compile, and to get the emc2 source from cvs
jmkasunich: Yeah, but I didn't sub your instructions, there.
That's what I was thinking about updating
I know... it will need more details... but bpmw can start the apt-get part (which is the most time consuming)
yes, actually, that helps wuite a bit
Getting my linux box on the net will take some doing.
It's out in the garage!
that's really not a BIG problem...
Ive all ready printed the BDI-4 Install page from the EMC knowledge base. Is that the apt get part you are talking about?
something like 20 meg that you need to get on that page (only need to do that one time, then you should be able to compile any future version of EMC on that box)
EMC itself is a couple meg
OK, I'm headed in the right direction. Thanks for the info. I'll get this part done shortly and get back for more info.
You'll really love EMC2, bpmw
HI Ray, Thanks for the info last night. I got my mechanical lash to 0.002 per axis.
oh, I almost forgot...
Hey John, this is the first thing I ran, right after dpeaking with you, and getting Milly back up
[02:36:49] <weyland> http://solutionsmachining.com/images/cnc_mill/rockers.jpg
cool! Milly did the engraving?
don't mind the depth looking wierd... they have to be polished down
Right when we were speaking on the phone
Took all of a coupla minutes
how are the parts themselves made? milled from billet, cast?
those are original Shovelhead rocker box castings
I cut them in half, they are usually one pice
lemme find a shot...
[02:41:02] <weyland> http://shim1.shutterfly.com/procsserv/F-ANmrNq0aNmbw4Dz1xp3mY
I assume that's you
having trouble visualising where the parts go... on cylinder head I assume... is the engraving facing and brass nut facing forward, aft, or sideways?
They sit exactly like you see on Val (my bike) there
Lemme get a closer shot
I think I understand
I like the big PHat tire on the front. Old School. Cool!
Val has one piece covers, right/
the split goes crossways, and the engraved end is on the side (facing the camera in the Val shot)?
[02:47:04] <weyland> http://varangiankindred.org/IMAGES/images/JPGs/heathen_val3.jpg
ok, now I got it.. this pic shows the brass nuts
Hey weland when will we se you on the great biker build off?
the wha? Oh, wait... thats a TV thing, right?
ya, you do nice work!
sorry... don't watch tv, but thanks
I'm gonna be
riding a project bike to NC in three weeks for a show
put on by The Horse
That's what a those rocker covers are for
EMC will be making a bunch of parts for that bike
I just finished the frame last week
Well i better go and get my linux box in the house and start downloading, Take care and Thanks!
feel free to write me if you have ?s on the update
Hey, back now... wanted to ask about threading
don't know much about it... it's on the to-do list
on the short part, or the long part? :)
I have one of those cheap chinese 3-in-1 lathe/mill/drill things, so I want it too
of course I've been doing my conversion for going on 3 years now... and still don't have the steppers mounted
damn programming stuff takes up too much time
sh|t, man... tha's nothing...
I'm a machinst by trade
and it took me two years
That's my biggest enemy
sooooooo... is the threading thing being actively worked on?
03jmkasunich * 10emc2/src/hal/components/encoder.c:
changed encoder HAL module to accept scaling parameter in counts per unit,
instead of units per count... that means the value is more likely to be a nice
integer like 4000 or 1024, instead of a tiny and messy fraction like 0.00025 or
I don't know if paul is looking into it
I have a full plate for the next month or two, but then I intend to work on threading too
kewl, am jsut curious
like I said, these parts can be threaded by hand too easily to worry about
but it would be really kewl to be able to thread
if I ever get the motors mounted on my machine I'll be much more motivated to get threading working
(and I'll have a machine to test on)
send it here
believe me, putting the motors on would be easier than getting it out of my basement
sheesh... tha's nothing...
my surface grinder weighs more
is it thru the kitchen and down a flight of stairs?
(stairs built in 1927)
over hill and dale
through two other shops to get to mine
but I *do* own a forklift...
well that makes all the difference
YES it does...
besides, forklifts don't fit in kitchens OR down stairs
They do if you hit them hard enough
yeah,.. a forklift in the kitchen would go thru the floor... then my wife would hit me hard enough
it's not the speed... it's the sudden stop
getting it downstairs was an adventure... took most of a day
I can only IMAGINE what you northern guys go thru
if I go downstairs, I need breathing apparatus
my real mill is unfortunately out in the garage, where it freezes
time to take up casting... free hear
but it weighs 1800 lbs, no way that was gonna make it inside
my real mill: http://home.att.net/~JEKasunich/vannorman/VN_Home.htm
HA~! I just got my frined one of those. GREAT machines
does some incredibly heavy cuts for it's size
[03:28:42] <jmkasunich> http://www.metalworking.com/DropBox/_2001_retired_files/Facemil3.jpg
[03:28:55] <jmkasunich> http://www.metalworking.com/DropBox/_2001_retired_files/Facemil4.jpg
man, that's some cutting... nice.
the stack in the first pic is 4-1/2" high, and I was taking off about 1/8" to clean up the sawcut edges
I've done as deep as 0.3" at that width of cut
the second pic is a 1" wide x 5/8" deep cut
I used many a horizontal mill while I was apprenticing
they are great for sheer mass of removal
horizontals could eat a b-port for lunch and ask "what's for dessert"
its kinda sad to not see them around much anymore
I sometimes see the big old ones (Cinci, K&T) when I walk the aisles at the local surplus dealers
but even there they are becoming rare
we had an old cinci at Uniweld
man that thing was bad a$$
not a cinci, but here's a nice little mill: http://www.hgrindustrialsurplus.com/Detail.asp?PartNum=40-303-004
ahh, here we go: http://www.mckeanmachinery.com/inventory/detail.php3?TheKey=CB170
[03:39:13] <jmkasunich> http://www.mckeanmachinery.com/inventory/detail.php3?TheKey=MT7393
you wouldn't think they'd still command that much money
yeah, those prices seem hi - a couple of years ago I swear I saw similar machines at the same dealers at near scrap prices - a few hundred bucks
unless those have been rebuilt or something
I passed on a smaller one for $100 just because I couldn't find a place to put it.
ohh, how bout a vertical to go with: http://www.mckeanmachinery.com/inventory/detail.php3?TheKey=BM3062
can you imagine the cuts those boys could take?
I've used one of those
almost mind boggling
I never worked as a machinist.. just hobby stuff
we used to put large die plates on them
my dad was a machinist in a steel mill for ~40 years tho
it's really no matter... I know "machinists" that are horrible hacks... and I know some hobbiests that are wonderful craftsmen
it has to do with caring
he started when he got home from WW2... they were using planers, shapers, vertical boring mills, all kind of huge stuff
I'm lucky - people actually seem to want to give me money to go to my shop and play all day
I was very proud when my dad saw some of my work and said it was better than some of the "machinists" he used to work with
you should be
I've been lucky enough to have had three mentors who were what I call "old timers", and I don't think I can ever repay them for the knowledge they imparted to me
they've probably forgotten more than I will ever learn
exactly - I was thinking the same thing about my dad
Uniweld just sacked the last one of mine...
I wanted to go bitch slap someone over there and say" What? Are you *that* stupid?"
no, they're that corporate
Frank's a great guy, a wonderful craftsman, and has made them more money than they will ever know
corporations are stupid sometimes... they think people are interchangable
and that's why I left and went out on my own...
and I had the best job in hte world there
in the toolroom
an engineering manager that I once worked for never refered to employees as people... always "resources"
as in "we need a couple more resources on that project"
well, you can probably tell from my pic that I don't play well with others, like that...
I work in a differnet group now... and meanwhile he has climbed the ladder and just recently got some big award... probably for how well he used (up) his "resources"
yeah, I kinda got that idea ;-)
corporate america really never ceased to amaze me, from so many points of the spectrum
the short-sightedness on so many levels is scary in the larger, grand picture
don't even get me started....
I'm still very much in contact with my votech teacher, who is a great friend now...
it's disgusting, really
we're killing ourselves in so many ways
my friend that just bought the complete casting set up ?
bought from a votech that closed the program
for next to nothing
03jmkasunich * 10emc2/configs/core_stepper.hal: couple minor tweaks to hal files
yeah.. combination of lack of interest and fear of lawsuits has just about killed votech
we're raising a video game generation... no more gearheads
heh, it's so much larger than that, too, though
the push to put EVERYONE in college, while making hands on skills seem illegitimate...
Here's a GREAT one for you...
I never knew that "machinist" was a trade until I was 24
it was just never exposed to me
* Jymmm lol @ weyland
I'm not kidding, either
all we had was wood shop, and that was only halfway supported.
well I was definitely exposed to it... my dad was one, and I lived in a town of about 5000, where 2000 of 'em worked in the steel mill that occupied almost half the town
weyland : When you were a kid, did you think the only for jobs in the world were Policeman, Fireman, Postman, and Doctor too?
of course since the mid '80's 90% of the mill has been closed down
No, but down here, in the 70s and 80s, trades weren't really given attention
schools didn't even mention them
schools STILL dont' mention them
03jmkasunich * 10documents/lyx/Hal_Introduction.lyx: updated hal document to reflect recent changes in the code
... of course, its not like I ever actually went to school...
Jymmm: THATS my point
we're killing ourselves with OMITION
look at vocational schools... it's automechanic, medical assistant, or HVAC.
Only because the machining and related curriculums can't get the support
oh yeah, and massage therapist.... hooker in traing witha certificate?!
My old teacher tells me the horror stories, weekly
not that I mind now =)
well in part the schools are just teaching things that have a chance for some job security
and he oversees the whole thing
machinist - except for custom stuff, that's all going overseas
yes, it is, and that's FSCKING sad, AND wrong
automechanic, HVAC, medical... those jobs can't go overseas, the cars, buildings, and sick folks are here
funny story... my neightbor is a coreman (nurse) in the army. One of his buddies asked to check the medical records of someone he was about to date... Turns out she was treated last for an STD a week before, and had three other in the last four years.
by doing so, you remove ANY incentive to make new skilled tradesmen
I was wrong, the mill occupied more than half the town I grew up in
[04:04:32] <jmkasunich> http://www.terraserver.com/imagery/image_gx.asp?cpx=-80.4763999939&cpy=40.65971471186&res=8&provider_id=330&t=pan
damn... you've got me gesticulating to the monitor and ranting now...
oops, wrong pic
[04:05:06] <jmkasunich> http://www.terraserver.com/imagery/image_gx.asp?cpx=-80.45263175&cpy=40.64139744&res=8&provider_id=330&t=pan
note the large empty areas.. the photo was taken in 1994
20 years earlier it was all full of mill, iron ore, coal, blast furnaces, everything
much of it is gone now, and most of the rest is idle
has sat too
That $20 HArbor Freight Trim Router I bought..... I pluged it in today, flipped the switch and within 20 seconds of just holding it in my hand it got so hot that it started melting the plastic!
I gotta go get some work done and make those updates, too
talk to you all later
about time for me to crash too
too many late nights the last couple weeks
Heh, I've been busting my butt out back making this gantry router
03cradek 07cradek_stable * 10emc/src/emctask/emccanon.cc: may as well apply the same fix to the probing routines.
hmmmm... ev'ry one sleeping...?
Not sleeping.. Working. :)
* Phydbleep is building a vibratory cleaner.
AKA, a plastic bucket, some springs and a sewing machine motor.
ultrasonic is MUCH better
Fill with glass beads and throw in rusty parts.
What's so funny?
Not that that it won't work, just sounds funny is all.
It's cheap.. I had the bucket from Oxy-Clean, A sewing machine motor I paid $0.25 for, Various car valve springs and the beads were left over from a projection tv screen re-coat.
I think it was $12 for a 20kg bag.
I dont' have enough rusty parts to have a need for such a machien.
99% of what I get is rusty parts.. I buy new bearings/belts and go to town. :)
catch ya tomorrow
hm, perhaps I should build a vibratory cleaner also
cradek: are you there?
seems not.. pretty quiet morning
* alex_joni gets lonely
Morning alex_joni :)
* Phydbleep has been building a vibratory parts cleaner.
1 sewing machine motor, 2 plastic buckets, 3 car valve springs, a router speed control and ~5kg of glass beads... :)
Now to add ~6 feet of duct-tape to reinforce the outer bucket..
Beats hell out of paying $300 for one. :P
alex_joni is now known as alex_joni_away
nevyn_ is now known as nevyn
Well crap.. Time for a trip to Goodwill for a pot to replace the outer bucket..
* Phydbleep just had the side where the motor was mounted go away.
Note to self: Plastic ice-cream tubs are only SEMI structural...
no shit :D
I am hacking assembler.
But!, It worked long enough to test everything before it blew out. :)
the hardware counters of the plc dosent like my encoder.
what did you do to it?
Turned the speed control up to full and the side of the plastic tub failed around the 1" washers.
for your vibratory tumbler?
hm, *makes mental not to do it in alu or stainless*
I need to tune the vibrator mass as well.
what kind of frequency do you need?
An 'L' bracket and a hose clamp do not make a precise weight.
a -O-() / makes for good balancin
anonimasu: It depends on the total mass of the system, That's why I went for the speed controller.
I am curious what to use as a medium though
maybe high speed mill some alu.. with slow passes..
err slow feed.
I was adding parts to the bucket and tweaking the control to retune it on the fly..
anonimasu: Polishing medium?
Industrial glass beads, Walnut shells, Plastic whatsits..
yeah, but ordering stuff liek that'll take 4 days
Got clean sand?
hm, yeah, I got some stuff that I used to sandblast some stuff with
That would do it.
I used 3 chevy exhaust valve springs to hold the bucket up.
hm, wouldnt a rotary tumbler be easier to build?
It's a lot slower.
Plus you dont want to load batches of large parts into a roto-mill.
CLANK! CLACK! CRACK!
And other unpleasant expensive noises. :)
Hm, somthing's terribly wrong with my scope.
Damn it.. I wish I still had access to a Unimat... I need a new lighter. :)
and I need to use it..
heh machining one
What's it not doing?
it does not start..
no, a DSO
wait, going to run to another computer and try it
bummer.. So you cant even look for the filament in the crt to be glowing..
found the error..
was the input fuse..
how the hell could it break with a 12v supply..
maybe it's the abuse from being moved..
03paul_c 07bdi-4 * 10emc2/README: Formally sideline the bdi-4 branch - No further development to be done here. Only minor bug fixes should be made.
I am finishing this..
going to run the machine tomorrow
but I found somthing strange with a rotary encoder
it dosent seem like it's quadrature..
hm, I long until today's over
paul_c: Quick question.
Depricating 1 and rcslib...
* anonimasu looks at the blood and screams
I believe that will is still doing some work there.
seems you are up to nice things today
alex_joni_away is now known as alex_joni
Life is good, I got the emc2 to compile yesterday.
rayh: was it hard?
No. Except I hand a bunch of junk in the way.
Clean install of 4.20 did the trick.
Depreciating rcslib/emc for anyone outside of NIST.
don't really think anyone besides NIST uses rcslib...
that is .. by itself
EMC2 runs and I'm getting the start of an tickle front end to halcmd
or in other projects
what did rcslib do again?
rayh: I started with an GTK version of it
jmk and I talked through this on the phone.
alex_joni: It is unwise to make broad assumptions about rcslib
I started playing with qt yesterday
There are a number of other groups that use it, not just emc
got links for that?
me or paul?
or ray :)
paul_c: got links for that?
* alex_joni appologises
seems there are some users of rcslib
even in VERY select imvironments
[13:15:52] <alex_joni> http://www.ece.osu.edu/ion/documents/x5its1.pdf
[13:16:07] <paul_c> http://www.rcsautomation.com/advanced_numeric_controller.asp
the above link is from DARPA's grand challenge
paul_c: seems they have what we need..
s-curve planner *grin*
I'm not sure they actually use RCSLIB
alex_joni: Look again at the block diagrams.
on that link?
[13:23:02] <paul_c> http://www.rcsautomation.com/anc_motion_kit.asp
[13:24:02] <paul_c> http://www.rcsautomation.com/rcs_software.pdf
* alex_joni goes home
paul_c: sorry, still didn't see it
but .. not that important
point taken that others use it too
* paul_c disappears for a few mins to read up on solving "translation of points to bezier splines"
paul_c: if you find good stuff to read throw it at me :)
I'm getting a distinct feeling that Bezier curves are not the best way to describe a surface (for our needs)
got any idea about a better alternative?
paul_c: I'm writing a motion for the board re your post.
Can we just leave off the rcslib as deprecated.
SWPadnos: NURBS is a type of Bezier
B-Splines, but close enough :)
The only other question is for FredP and that deals with the alternative STEP interpreter
(Hmmm - is that Bezier splines?)
rayh: rcslib depretiated as far as the needs of emc is concerned - and accept that NIST and others outside of our group have a need for rcslib.
Sounds good to me.
paul_c: might that be usable?
I'll have a look at it as soon as I get back home
does anyone here know the underlying mathematic modelss of ParaSolid files?
NURBS have a couple of problems (as do many other types of splined curves)...
It is difficult to calculate the path length in a computationally efficient manner, and....
it is possible to exceed the velocity & accel bounds of the machine.
My thought was to head toward a commonly used CAD modeling method, if you want to have more information in the motion commands
so NURBS and aparasolid jumped to mind
The whole point of looking at splines is to reduce the amount of information being passed to the motion system.
problem is a spline has different coefficients between each waypoint
so for every point an a, b, c, and d must be sent
and that will only operate in 2 dimensions, right?
so the "funnel" test would still choke it
well the whole thing is time parametrized
you'd need additional parameters to allow for changing the plane, or to have a 3-D spline
(A, B, C, D are for a 2-D spline, right?)
If velocity adapting is proper it would never choke
actually for a 1D spline in time
one set for each axis
Think of A, B, C, & D as matrixes of [X, Y, Z, A, B, C, U, V, W]
even better for the RT data transfer problem :)
on top of that, the planner needs to know the length and the time.
03rayhenry * 10emc2/tcl/bin/tkbackplot.tcl: added inch/mm size
Does emc2 honor INI vars now?
position= at^3 +bt^2+ct +d gives position, velocity, accel, and jerk if a clock puts in t
rayh: As in steps per unit & velocity ?
as in period
note accel is a ramp
yes - a and b need to be very small or 0 most of the time
so it must have corners
at least the sum for all axes
therefore jerk will be infinite at those points
I should have said and period. I'm getting following error at 100% feedoverride
Quick look at the init scripts, I would guess that PERIOD comes from the ini file.
but don't quote me on that....
it should be BASE_PERIOD, I think
I do see BASE_PERIOD
are you having a problem with HAL modules not loading?
OK.... I *think* I'm begining to see how to derive a, b, & c from a series of plot points.
paul_c, have you looked at http://graphics.cs.ucdavis.edu/CAGDNotes/Catmull-Rom-Spline/Catmull-Rom-Spline.html
catmull-rom splines are a little different because you use an actual equation to draw the line instead of a recursive algorithm
SWPadnos: No. scripts/emc.run goes. I'm having issues with the brave new world tomorrow.
Dinner with Huxley?
fenn_afk: There are many ways to describe a curve.
I see the need for "another" to take over the "help desk."
jmk by any chance ?
Wow! This is a whole different world than I'm accustomed to.
A Brave New one?
At this time, my opinion is worth about a pinch of spit.
But I'm guessing so.
good spit or bad spit? (what are you doing anyway? :) )
Well... Short story is two emc2 machines by retroFest.
ah - that should be fun
(for various definitions of fun)
jmk is going to be there so that will help.
I believe that Matt is also going to be there.
Got 24 feet of table space beside the machine and dsl
that may be enough :)
and a guard at the door checking for penguin passes
Guess that leaves me out..8-(
We will make up a special pass for you Steve. Just a tiny little bird...
Story of my life, everybody keeps giving me the "bird"
I thought you'd like that.
fenn_afk is now known as fenn
i'll be at cnc-workshop too if that's what you're talking about
i'll be sure to make a "penguin pass"
Steve suggested an old bald penguin with just a bit of skraggly gray hair.
i'm gonna try to make a hexapod to bring with me, so i'll have something to do while i'm there
i think figuring out the electronics will be the hardest part for me
might be really easy though, i don't know
As soon as I get the machine pics, I'll start a retrofit page on the wiki.
That way we can do some preplanning.
What's your background?
heh.. still wet behind the ears
built a lathe from scratch with nothing but a drillpress
i'm messing around with a gantry mill built out of 2x4's right now
That lathe sounds like a challenge
You got emc running?
i'm working on an improved process to make the whole process of bootstrapping a machine tool easier
bdi is a piece of cake to set up
i know some c++ and am handy with linux too
Whoa. You're way ahead of me.
The electrics on the Mazak should be no problem to comprehend.
i can understand electronics just fine.. but when it comes to building a circuit, the dang thing just doesnt ever work
what do you guys need to do to it anyway?
Okay. We'll let you figure them out and someone else wire 'em up.
The machine has an M6 Fanuc control now.
We are replacing that with the EMC2 and HAL.
The retro will include all of the functionality of the original... fingers crossed.
Roland said that there was some sort of problem with the spindle drive.
I was replaced a while back with something other than fanuc or mits.
Said there were clip leads all over the place.
I don't know whether the spindle is DC or AC.
In that age, they built using both.
I'd guess that it's vfd.
Stuff like gear change will be an interesting challenge.
i've never even heard of that
you mean tool change?
The spindle has at least two gears.
Low and High range.
is that automated on the machine now?
that should make it easier then
does rs274 support gear changes?
Don't know. But I'm guessing that it does.
just didn't need it for the K&T
the spindle controller will have to know what to do when asked to go to a specific speed
Matt and I were thinking that if s < xx use low gear
you may have to invert the spindle direction, if the gearing works like a Bridgeport
We can handle that as an IO thing
Hadn't thought of that.
The Hardinge lathe goes the same way for both speeds.
this is where HAL comes in very handy
...you thinking of a hal spindle mod?
we have had many discussions on how to control a spindle (or a toolchange)
H^%$#... And machine logic in one place goes out the door.
but the spindle is an easily separated piece of the machine
it makes a lot of sense to control it with a single module
That is the biggest problem that I see with the HAL
hah. machine logic! that's what a computer's for
only thing to worry about is safety imo
I'm thinking of a single place -- wherever -- where machine logic is
designed and written and stored.
doesn't the halfconf script do that?
yes - the choice of whenter the logic should be in a PLC modules (ladder) or a spindle control module (C) is a different thing
or whatever it's called
It can be run in HAL but it should not be designed in hal
* fenn doesn't understand what they're talking about.
fenn: discussions regarding the type of expertise needed to change the operation of a machine
But. As SWPadnos was so able to point out, the problem can be easily solved using HAL
and in the interest of time saved probably will be.
one one side is PLC control, using ladder logic, which many machine integrators already know
If we use the spindle gear and direction example...
on the other side is writing custom HAL modules (which can then be reused later), which requires C, which most machine integrators don't know
(or want to know)
The HAL spindle mod takes in spindle speed and direction.
It decides if it needs high or low gear...
and if low, reverses the direction of motor motion
starts the motor running very slowly
pulls the solenoid that shifts to low gear
waits for the low gear engaged switch
not sure you'll need to write anything in c, if jmk has already made the right hal "components"
then allows the machine to go to work.
those components are written in C, and I wouldn't expect jmk to write all possible modules :)
you could wire up "timer" hal blocks and comparator hal blocks etc
You got the idea.
the interesting thing you point out (Ray) is that the gear change has to use I/O, and control the spindle
he's got comparator blocks already in blocks.c
The "machine logic" thing is a question of how one defines how these things work.
this causes a circular command path if the logic is external to the spindle controller module
"interpreter" says go to speed 200
the spindle module says OK - that means low gear - let's ask the PLC to change gears
the PLC energizes the solenoid, and aks the spindle module for -10 RPM
the spindle controller says "OK - that means low gear" ...
)this can be easily overcome, but you see the idea)
why would you allow the PLC to tell the spindle module what to do?
because it has to turn the spindle backwards to disengage the gears
And now we have a handle on at least some of the issues.
so well thought out monolithic modules can be a real asset here
but you already know that you need to do that, so you just wait for the plc to say "solenoid on"
then there's a library of functions that people can just wire in (in HAL)
but then the logic is in the spindle module, not in the PLC
I'm more than a little worried at this point because HAL does not have all of the protections built in that a real PLC has.
the integrator who has to change the logic for their different machine - they would have to write a new spindle module in C
what i'm saying is you don't have to code anything in C, you just make a new "virtual circuit" in HAL out of standard Hal blocks
it can't - it's a PC running a general purpose OS, with only "pseudo-Realtime" (though the RT is pretty good)
the next guy who needs to do the same thing can still change your virtual circuit without compiling anything
That would only be true if the HAL writers had thought of all possible combinations of HAL modules.
I'm not sure this can work with HAL blocks. draw out a circuit that does spindle change as Ray outlined it - there are a ton of connections and decision points
it's not "easy"
(I could be wrong, and actually would love to be proved wrong in this case)
so lemme see if i understand what it needs to do
I think a series of modules that are somewhat flexible, but still meant for specific small classes of machines are the best compromise
My salvation for the retroFest Mazak is that jmk will be there
fenn: Your turn.
1) decide low or high gear, 2) turn on a pin if low, skip to 6 if high 3) wait for pin, 4) rotate motor slowly, 5) turn off pin, 6) run motor forward for high backward for low
mostly right, I'd say
is 5) right?
Ray - does this solenoid get driven in both directions?
My guess is that it is a dual ended hydraulic cylinder
that is modal.
two electric coils opposed.
so every time you hit it, it changes gears?
or are there PUSH and PULL drivers
No hit one for low the other for high.
so, fenn - to revise the flowchart:
1) get spindle command - if 0, just output zero speed, and don't change gears
2) else, if above XX speed, skip to (A)
3) (low speed) check current gear position - skip to (B) if already in low speed
4) (need low, but in high now) energize "LOW_GEAR" output
5) output slow reverse spindle speed
6) wait for "LOW GEAR" input
7) stop spindle, and go to B
8, A) (high speed) basically repeat steps 3-7, swapping LOW and HIGH
12, B) if low speed, output minus SPEED, else output plus SPEED (or the other way around)
Yep. That's about it.
but - some tools may need to reverse the solenoid / reverse motor order
Once we get it right for one machine the smallest change will make it wrong for another.
How about three speed?
or one speed :)
That case is the most likely to work.
also, there are kinematics to deal with when changing speeds
(like - you have to wait for the spindle to stop before energizing gear changing solenoids)
sorry - inertia, not kinematics
okay so how is it easier with a PLC?
(talking about software PLC right?)
integrators know ladder logic - that's about the extent of it AFAIK
who knows ladder logic and will be working on it at the fest?
There is the thing of reading the state of all signals
Ray, jmk, Matt, etc.
ray, matt know C?
then computing all the logic
then setting all the pins.
I can read a bit of c but not competent to write and run any.
it's also a state machine rather than a monolithic module
I hate to use it as an example, but LabView may have a good model for this type of thing
it may make sense to have a set of HAL modules for spindle control
OK - I'll blather and you can read when you're done :)
what does labview do exactly?
lots of stuff - it's meant to be an easy to use system for making control/measurement systems and control panels
you "program" by dragging components onto a schematic and wiring their inputs/outputs to each other
and it works pretty well?
you can wire up constants and configuration info as well
for some tasks, it's great. most "real" programmers hate it though
(like me :) )
yeah i had to program with "lego program blocks" for a lego robotics class
check out www.ni.com to look at LAbView
I thikn there may be a downloadable demo as well (like 160M or so)
seems like most of the time whoever writes that kind of thing doesn't include enough to be able to write a real program
and you have to conform to their world view
that's what happens in any language though
god i have to register with my phone number to watch a _video_ of them using labview??
from the main page, click LabView (top of center column)
* fenn finally caves in and gets Flash player
then new LabView 7.1 (top left)
then LabView development systems (top left)
then Evaluation Software (top right, under "Resources")
then you have to fill out a form to get the download (180M)
(after clicking LabView 7 Express)
ah. no windows computers in the house.
hmmm - they have a Linux version, but there may not be a demo
no apparently not
well - the example that I was thinking of is that there are loads of small components (much like HAL)
you can wire up selectors, multiplexers, multipliers (actually arbitrary formulas), etc.
you can wire up "circuits", and then use those as components in higher level systems
the thing that's useful here is that, in our spindle controller example, there are a few things that may need to change depending on the type of two-gear spindle you have
such as motor direction (is high forward or is low?)
whether to energize the motor first or the gear change solenoid
is there a single solenoid with 2 active states, or are there two each with a single active state?
none of these questions affect the logic, just some pretty trivial things in the actual outputs
(such as numerical inversion)
so a single HAL module for 2-gear spindles could operate just about all of the variations if it has the right configuration inputs
1) the speed at which the gear needs to be changed (or two speeds, if they overlap and you want hysteresis)
2) whether the direction is inverted in low range or in high range (or neither)
3) the actuator type (single or dual solenoids, continuous output or temporary)
steve_stallings is now known as steves_logging
yes - or both :)
so a well-written (in C) 2-gear spindle controller can cover 99% of the machines out there.
then, a 3-gear controller is written (for example)
(of course, a brake changes thing a little)
eventually, there would be a library of components that are special-purpose, but configurable by an integrator
or by somebody (like me) who isn't familiar with ladder logic
hmmm - something like a HAL macro or "supermodule" would be very handy
* rayh reads back
I can see where you are headed with this HAL thing.
We probably will need to try it.
in order to see where the failings are.
for example issuing the s150 command will need to cause the task to wait.
if s is not 150 already
that would be true with a PLC as well
Yes. All of what I would respond here would be also true of a PLC.
OK - BTW - I wouldn't eliminate a HALPLC as a possiblity
The reason that I like to refer to this as machine logic is that it divorces the logic
from the program or device that is accomplishing the task.
yup - it's just aquestion of where the logic is hidden from higher level blocks
it can be done anywhere from the machine itself (in hardware) to just below the interpreter
but i wanna specify gear-shifts in my cad program!
that was *below* the interpreter :)
There are cases where overlap in speed range would allow the operator to select either.
Actually on most machine tools that have gears, they are selected first then the speed entered.
true - the operator may want to choose a specific gear, but in general, I'd assume that reducing gear shifts would be preferable
The way we have been talking about it is the easier solution
within the existing NML
It's like automatic v manual shift.
you could have a gear-shift-override pin
looking at my concept of a spindle controller, it's a mode pin
(say an int): 0 = auto, 1 = prefer low gear (for torque), 2 = prefer high gear (to reduce motor speed)
why not high/low/auto
or well, depends on how many gears you have
there are different auto ideas
assuming there's some overlap in speed ranges, you may need high torque, or want to reduce spindle bearing wear
motor bearing, I mean
Machine logic can get complicated in a hurry.
yes, but a controller with the appropriate modes (as outlined, or even more) would cover 99% of all cases
Yes it should.
the other 1% would use HALPLC or C
(assuming the existence of HALPLC, of course :) )
The problem as I see it is that then "machine logic" is distributed to a number of different files or parts of files.
no - in this case it's in the C source for the "Spindle_2Gear" component, and in the HAL (/ini) file
the HAL/ini file(s) are required in any implementation, I think
unless classicladder or Hal_Ladder/HALPLC compile a ladder description into an executable
It's the little C "and" HAL ini that bothers me.
the same demendencies are there with classicladder as well
When Matt and Fred wrote the bridgeport stuff, the hardcoded a lot of logic
there's ladder.C (or whatever), plus the ladder file, plus the pin connections (from ini or womething)
they just softcoded the pin numbers and polarity.
They really didn't expect that hard coded logic to live so long and across so many installations.
legacy is often surprising in the software world
pins and signals allows for the second, pin and polarity.
It does nothing for the "logic" side of the problem.
the trouble with the bridgeport* is that they include things other than the machine logic in them (like what hardware is being used)
As fenn was saying earlier, we could build in the logic by connecting a lot of HAL modules
then the logic is in the way that we connect them.
Rather than hard coded in them.
or a few more complex modules, with configuration wired in from the ini or elsewhere
the problem I'm trying to work around is basically the "multiple sources of control" issue that Fred pointed out
Even though I don't like that, I suspect your approach will prevail in the near future.
Can you say Mazak...
ah the soothing sounds of a properly running spindle.
(getting there :) )
oops I just switched gears at 3k rpm.
While spindle control does not have the same servo system
status in the upper levels of EMC,
a motion should be a motion
and originate or be approved by the single "source of control"
But as SWPadnos pointed out we create a huge loop.
Hal gets a s150 command and says hey i gotta change gears.
so it sends a note to task, start the spindle at -10 rpm
and task sends a note to the hal spindle mod that says turn on spindle at -10
and hal mod says hey who's in charge here.
there should be a way for the controller to hand off control of certain I/Os to a subordinate task, and that's independent of how machine logic gets implemented
(I meant that the requirement is independent, not that the control is independent)
you also lose RT when you do that
you can deliver the right to move the machine to a control.
well - task isn't RT
SWPadnos: you will not move the RT parts, there..
just the right to command the machine
go to x0 y5067
I was saying that Ray's idea loses RT
because it controls via task
Yes it does.
yeah, but why is RT important in somthing like changing a tool?
so it's not a generic solution to the various machine logic problems, like homing...
yeah that's true
probing, toolchange, speed change, etc.
Unless we have commands from task that look like "do this until this"
probing is like that.
again - that's a specific machine logic encapsulation in C (though it does cover most probing methods)
yeah, but stuff like probing isnt generic..
err is pretty generic..
the concept is generic, the implementation isn't
there are optical probes that measure spot size with a CCD to get depth, for example
SWPadnos: how compatible do we have to be? that's the question
(though those are by far less common than a touch probe, exepcially for non-mega-corps)
Paul wants an "industrial strength controller"
Sherline wants a Sherline controller
Tom wants a G92 controlller :)
it all depends
I want a industrial strength controller..
i want a "do everything god dammit" controllre
* rayh wants the interpreter to NOT offset z by tool length each time a non z motion is issued.
that's a pretty serious bug
I want emc2 not to lock up on modechange
Seems now that it got in there sometime before march this year.
I want a controller that doesn't limit the machines it can be made to work with from arbitrary design decisions
(did that make sense?)
* rayh wants what SWPadnos wants in that last
I guess it made sense then :)
SWPadnos: yes it did, although I'd rather take a new tp..
for now :)
I'd rather have a TP module that can be changed out relatively easily
same for the interpreter
because it's more flexible
i think spline interpolation could solve the current tp issues, and add spline interpolation at the same time :)
So long as the connecting signals are the same this is easily possible.
the design of the system shouldn't dictate policy (or machine implementation, in this case)
And that is exactly what bridgeport task and io did.
(sorry - I always think about systems at a very high level, and sometimes lose sight of the ball, which is to have a working system *now* :) )
SWPadnos: well, the motion has to be rock solid, first.. running a program should not be scary..
there should be a way to try different motion planners without recompiling the rest of EMC
(I know - make helps here, but you get the point ... )
SWPadnos: it's not like everyone has their own in the pockets ;)
they don't ;)
otherwise we would already have spline interpolation
"What has it got in it's pockets, nasty Baggins."
nonetheless, it would be great to be able to test traj planners with the same ease as one changes DISPLAYs
(vbarring a compilation or two)
How much effort would it take to be able to specify this tp or that in the ini?
Now that is linked into emcmot along with much of the other stuff.
* fenn stares blankly.
Unfortunately, I'm not sure - it's probably non easy
truth is none of us have any idea right? :)
I'd like kinematics to be handled the same.
Paul and jmk probably have an idea
and interpreter, and task, etc etc
well, switching from freqmod, to steppersegmod is just a change in the ini
We could add Fred and Will to that list
it essentially HAL-ifies many other parts of the system
which is why i said i wanted a hal-ified interpreter the other day
connect the pieces you want to get the controller you want
more like a CAL - Controller Abstraction Layer
problem is that HAL is realtime, and that can be annoying if you want to do some number crunching
the concept is a group of modules that have well defined interfaces, and that can be connected together in arbitrary ways
without recompiling anything
if you apply that to traj, kins, interp, etc, you have a *very* nice system
think about it as a "user"
By the time we get it that sub atomic we'll be as unable to get stuff going as physics is todya.
why do users wish for controllers to be like that..
if I were to run somthing on a machine for producing stuff, all I would care about was that it would work
first, define user - there are at least two kinds: end users (probably hobbyists), and integrators
say you hate G-code, but every once in a while you have to run a gcode program
then there's the operator, but they don't have to configure anything
but usually you use ultra-code which is much easier
OK - right now the end user has to know what kind of motors they have, where to connect switches such as limit and home, etc
what's the diff between end-user and integrator?
an end user is expected to be less knowledgeable, especially related to e.g. ladder logic
And then you get you program onto a shop floor and the second shift forman wants to make a name for himself/herself and starts changing stuff.
modular is great for the developers/integrators
chmod 644 emc.ini
put a root kit on the machine
your new name is "FIRED!"
this bridge port haX0red by l33t kr3w
i think we should leave shop drama out of development decisions
:) OK - back on topic - the machine can already be screwed up totally by the second shift foreman
I've seen this type of person change machine parameters on fancy new machines.
Okay topic. How to make emc more modular
that's what backups are for
define a set of boundaries where tasks can be reasonably divided
ie, drivers, interpreter, motion control, motion planning, etc.
But then we have to plan ways to connect them.
* fenn flees in terror!
the NML monster! aiee!!
a hal-file like thing would work:
Will those connections be as good or as testable as GCC's ways of connecting them.
canon.in = gcodeparser.out or the like
if designed well, yes
like hal_lib, you can't connect pins of different types
also, realize that the level of integration is variable - you could have a "bridgeporttask" that only exports 3 axes of the "motion type"
or that can be broken into several levels, with an interpreter that outputs canonical commands (or something) into a planner that takes those and spits out axis motions
looking at it one way, the input to the system is a part design, and the output is a part :)
nice line... data in part out... but it doesnt REALLY work that way..
read the logs - I'm not being as stupid as I seem (this time :) )
ive come close.. but YOU GOTTA do it ALL yourself...
* paul_c reads the logs....
uh-oh - now I'm in trouble
SWPadnos: wanna second opinion ?
(no more tea for me, right?)
SWPadnos: You're applying the same sort of large module building here as you were with the HAL_spindle
sorry... been awwa and com in to that tidbit of text.. and have had to deal with engineering all day on f-18 parts...
the idea of a HAL layer for the interp sucks.
nope - the opposite
just pointing out that the partitioning can be variable
interp != hardware.
and could be anything from modules for each function (similar to HAL at the moment) to a single monolithic program
no interp = software....
as long as the interfaces are well defined
my use of interp was meant as "interpreter"
paul_c, hal currently works as RT but it doesn't have to be that way for all threads, does it?
You can plug a second interp in right now without any 'riggin around.
SWPadnos: Could we (not me) write the code so that these various chunks be compiled either way.
there are levels of "plugging" - this is a discussion much like the PLC discussion at Fest
hypothetical scenerio.. machine knows x,y,z,i,j,k,f only
and a second point - HAL does not allow for the idea of multithreaded design.
it's a question of where the configuration is, and how it is changed
rayh: I may not be the one to ask :)
I know that I'm not!
you can plug interpreters in at the makefile level, and have a new "bridgeportSTEPNCtask"
rayh, compiled as a hal-layer and also as a monolithic chunk?
As pluggable or as one linked entity.
or we can work toward a design that allows an ini file parameter for the interpreter
or even better, one where the DISPLAY program can select them on the fly
SWPadnos: Look at NML - The message layer is already there.
couldnt we use a toggle in the G code to distinguish which translator to use...
yep - some of the groundwork is done
not if it's STEP code :)
fenn looks at the message layer!!!
paul_c: that library seems nice
at this point, there's a reasonably well defined interface between the task level and the HAL
it would still only invoke the 1 to use
what goes on above or below that line doesn't matter, as long as the interface is agreed upon
the same concept can be applied at other levels of the program
use it as the 1st line of the prg if need be..
oh arse arse arse.
* robin_sz does the "wrong sort of modem" dance again
i don't really understand any arguments for non-OO design
fenn: can I be of any help?
Hi folks! speaking of modems would someone be able to tell me how to get kppp to connect to my ISP?
the current system is only marginally OO (in my understanding) - if too large a change is tried, the system won't work
for a while, at least
bpmw, try #linuxhelp
i thought the point of emc2 was to make it OO
so there's a natural (and appropriate) reluctance to redesign the whole thing to accomplish what, in the short term, will be nothing
fenn: I recommend you save a few electrons and save some valuable oxygen and seconds of your life and forget OOP in emc, it aint going to happen
fenn what speccifically am I to look for?
bpmw, i mean type /join #linuxhelp and say "help how do i get kppp to work!"
robin_sz, please elaborate
fenn: their seems to be a reluctance to recognise the last 20 years of software development techniques. Any mention of OOP, C++ or XML and the "board members" will just poke fun at you
don't be so hasty, Robin
weve been talking this over for 2+ years now
yes - it's only been 20 years :)
anyway, I should stop stirring
stop stirring, and get a power-mixer
what you're doing right now is telling someone who is interested that they should just leave, and that's not good, IMO
im saving him futile effort
realize that people and attitudes change
xml is nice.
If you read the board list, you may be surprised
I certainly was ....
(or skeptical, but that's your option)
I read the list only a few weeks ago for the very first time
within 30 minutes I:
1) cancelled my membership as a developer of the project
2) unsubscribed fromt the mailing lists
3) started your own branch?
it was "enlightening" ;)
I'm aware of your decision - too bad it prevents you from reading the board mails from the last couple of days
fenn: unless there is a group decision to cut out all the incredibly bad desing in C++ terms and re write from the gorund up, its FAR too much for one man
as I said, you would either be encouraged or skeptical - your choice
and since much of that bad design revolves around the implenmentaiton of NML, and NML is in the words of certain people "here to stay" .. its doomed. I stayed aorund for 2+ years trying to change things
I'll wake up again when emc3 starts :)
my cat is chasing a low flying aircraft.......along the windows...
rippin the shit out of the window coverings...but its worth it
if you are more than 6 storeys up, you could try openineg the window ;)
ground level... thought of that already...
flew a ferret once...
waterski'd with a cat too..
i have TOO many cats (3) and im thinkin of releasing 1
my scouts swam @ 49 deg. latitude... last weekend... spent 3 hrs in the water... caught fish too... ; )
Well I'm probably speaking for myself but this board member wishes for an inheritance.
i've shown my dedication to emc with tens and tens of hours in the irc channel
* fenn struts
It spring and turkeys and peacocks tend to strut in these parts.
so that's what happens when you start two instances of pppd.
* fenn and robin_sz whisper about evil plots in a dark corner.
btw robin i'd be interested in seeing that code you were talking about
so - that's what happens when you run 2 instances of pppd? :)
And it doesn't want to just heal itself.
heh - nope
bpmw, you figre out how to use kppp?
Did we give up in inheritance?
as in a rich uncle leaving you a lot of money?
That's it, Dan.
or oop such as in C++
How's the second vacation day.
nope - I haven't given up yet. I just don't have any rich uncles.
in what context? inheritance doesn't split functions into modules for us
it just makes it easier to compile monolithic programs that are largely similar
* Phydbleep cusses and says generally unkind things about UPS and their love of the almighty $..
rayh: what are you thinking (that would cause you to ask about inheritance)?
"Why yes, Your package is sitting here now.. But you can't have it for a week since nobody would cough up the extra $20 for ransom.".. :(
It seems to be a rather sticky point with some. The suggestion was that all of the board is against it but I don't think that I know enough to be one way or the other.
I was told that c++ is difficult in rt space and that is why we tend to use only c at that level.
I believe that's a reference to previous reluctance to change things in general, not just OOP/inheritance
c++ is pretty hard in kernel space - it's not really supported
Well 2k files in the project does tend to put some drag on new things.
I have on occasion defended what I call the big picture.
actually, having a large number of small files is good, once you figure out which file to modify :)
There are a set of NIST assumptions.
I think there's been an attitude ot "there is one way, *the* way things should be done"
rather than "that could work, but I don't want to do it that way
Unix style modular
a bit like pipes
sure - make lots of little things that people can put together as they choose
if I make a word processor, that doesn't prevent you from using sed or awk
Thins like state preservation
But no external state switches
it seems like there has historically beed resistance to having a word processor option added (metaphorically)
could you explain that a bit
at Fest, we were discussing the idea of having a HAL toolchanger (or spindle) module
your position appeared to be that ladder is the only thing that people understand, and you seemed reluctant to having said logic in a C module
where the real solution is to have both options (in my opinion)
Ah. Ladder is the choice of service guys.
if there's a HAL spindle module, that doesn't prevent a HAL_Ladder module from being written
But that would not eliminate other choices like the one Fred said they used at GM for the K&T demo
and conversely, the existence of HAL_Ladder shouldn't make people want to stop others from writing HAL_Toolchanger
There they used graphics and the service guys seemed to like it.
I realize that it's best to try to concentrate development on one thing, in the interest of getting things working more quickly
What I want, is for all of the "machine logic" to be in one place.
That's the advantage of ladder as I see it.
But it could just as easily be in a big table.
but the answer shouldn't be (or appear to be) "it will be done this way" - it should be "let'try it this way first, then we can look at other options"
or "let's try this, but I'd love to see what you come up with"
I think it's mostly a perceived attitude, not necessarily a "real" problem
I agree. Unless the various branches get to the point of total incompatbility.
Well there has been some rather strong feelings that it must be my way or I'll take my toys and leave.
I don't think this requires branching, if a HAL-like approach is used for other parts of the system than the hardware and RT layers
just like now - if you use servos, you don't have to worry about steppermod
but that doesn't mean that steppermod should be removed
in an ideal world (for flexibility, at least), EMC should just be a set of protocols and modules that communicate using those protocols
We talked a bit ago about hal locking.
like a shell that provides pipes - it doesn't care about how the pipes are used
Doesn't mean it should always be locked. But it should be when a system is released.
yes - preventing changes and the like
Otherwise we all run a risk of being tarballed for the actions of one integrator.
Once locking is in there, then we know who to point the finger at.
hmmm - I'm not sure I understand what you mean by "locking"
As it is now, a hal module can be removed while it is working.
or the pins and such can be changed on the fly.
ah - removal should definitely be prevented, in most circumstances
changing pins on the fly isn't necessarily evil, but it has to be carefully considered when it might be appropriate
Once a machine is properly configured, we should be able to lock that down and only change it if needed and under strict control
Yes. I even tend to favor dynamic "bank switching" of whole sets of pins.
so a Sherline would pretty much just have to chmod 644 machine.hal
But it needs to be protected.
you can't pretect from root
Well you can ask root not to change files.
i think unix permissions would be a good way to protect your hal configurations
(to both of you)
You can not prevent root from changing those permissions.
group 1 (integrators) and group 2 (operators)
group 1 is a member of group 2
I think even more levels than that operaotrs have the least permissions
maintenence has more
and then there is root.
you get the idea though
people who screw up their machines (by manually editing files that have big warnings in them) shouldn't be of great concern
so file locking can take care of a lot
permissions, I mean
We will need to be able to help them back to a working state.
But the blame should not fall on us all for having written something
true - but that may be a matter of saying "copy the file bonehead.hal from the configs directory"
that can not be expected to perform as planned.
i like RPM dependencies, but i also like the --force option :)
but apt/debs are even better
for the integrator, there are (at least) two approaches
Absolutely. And I expect every commercial user/integrator to put up a deb repository
one is a PLC running within EMC - the HALPLC option
that is their customers contact point for updates fixes and the like
someone like Sherline would have their .hal file (just like they have the .ini files now)
rayh, what i meant was that "soft" permissions are good, and automatic configurations are even better
automatic config is a huge can of worms
for the user i mean
maybe not applicable to emc
I can see that fenn. As long as a sherline customer doesn't try to get their upgrades from smithy.
you can't "probe" for a bridgeport
sure - apt-get defaultsherlineconfig would be great
and that's up to Sherline to provide
heh sherline thought they were gonna get a free ride
(and getting back to things unix-y, there shouldn't be anything in emc that prevents them from doing that)
No I don't think they thought that at all.
i don't know anything about sherline actually
I know a bit about it.
do they contribute code?
They contribute about 40 new users a month if that counts.
and their code and user interface code is contributed as well, no?
it's a standard testing platform, if anything
They were the primary ftp site until mike left.
rayh: So th eanswer is no, they just add to the confusion?
Yes to one No to the other.
They did pay me to write mini. Some would say they wasted their money.
Most of their users are pretty self sufficient. They do operate a customer help line.
rayh: SHHH!, Never say that.. They 'creatively spent it". :)
But that guy gets less calls than the maytag man.
Well I creatively spent it anyway!
rayh: Beer and Broads is 'creative'? I thought that they were 'requirements' :)
SWPadnos: You are absolutely correct that we need to allow for the widest possible range of operational abilities.
so - that's my take on the attitude "problem" - there has been resistance to having multiple solutions to various problems in the past
Phydbleep: as long as both are low maintenence...
rayh: Settle for "Tastes Great"?
reading the board list from the past couple of days, I believe that those problems are largely over, and the only resistance now will be to stupid design decisions. :)
IMO competition within the project is essential to it's evolution.
(the only problem will be deciding what constitutes "stupid" ;) )
I'd equate stupid with dangerous to the end user.
SWPadnos: Braille interface! :)
braille to what beer and broads?
hey - don't knock braille - they use it on drive-up ATMs
SWPadnos: That's what scares me. :)
I try to use braille on broads, but I get smacked a lot
(my wife hates it when I do that :) )
I can see a dynamic braille overlay.
especially to other broads :o
Its a set of small buttons arranged like the matrix.
only solenoid driven.
so you go into the drive through atm.
[20:01:52] <SWPadnos> http://www.deafblind.com/display.html
and it says get your front wheel off my darn foot.
my wife is a teacher of students with visual impairments - I know a bit about braille devices :)
a primitive holdover from the teledildonics cold war
alex_joni_away is now known as alex_joni
SWPadnos: Yeah, My wife is working with the 'New Mexico Commision for the Blind".. some of the engineers over there are idiots..
alex_joni: WB :)
now this is a really cool idea: http://www.itl.nist.gov/div895/isis/projects/brailleproject.html
any news on TP stuff?
nope - we've been discussing more architectural things
buildings and such?
(rather than implementation details, like a working trajectory planner :) )
I started reading the Sonja thesis
I started looking, but got distracted
starting to get an I ideea about the stuff
starting to get an idea about the stuff
I'm sorry I missed John yesterday
SWPadnos: Yeah, That is a cool idea.. I like the 2 track 4 actuator design.
just having the rotating drum is neat-o
if you say so
i'd prefer a piezo array, but, i'll worry about that when i'm blind
if $1000 is a "cheap" display how much are they currently?
fenn: Way too much..
[20:13:58] <SWPadnos> http://www.aagi.com/catalogue/ProductVersion.asp?101021
fenn: They get $5k for something I can assemble from 'off the shelf' units for <$1k
$6295 - ouch!
SWPadnos: You should see the prices when you start adding a video cam with zoom and color inversion..
oh yeah - I'm sure the CCTV systems are ungodly expensive
* Phydbleep knows someone with "macular degeneration"
SWPadnos: I can duplicate $10k or gear for $500 on pricewatch.
yup - it's kind of like CNC :)
SWPadnos: 99% of it is paid for with govt money so they pad the bill any way they can.
or anything the chinese haven't got to yet
fenn is now known as fenn_afk
I see that I have to really be root to run emc2 and shut it down properly.
I was running sudo and it didn't clean up like it should.
Then I ran the stock 4.20 emc and things got twisted.
Where are you with the gtk front end to halcmd?
it's not really a halcmd gtk front end
I think of it as smthg like a logic probe, or logic analyser
you have basicly a screen with smthg like 10 logical values that you can track
kinda like IO_Show.tcl
but with the possibility to select which hal-pin you monitor for each of the fields
Okay. I can see it.
how are the pins chosen?
but I thought about argc&argv
With the hal, the exercise tcl scripts have to go away or get changed big time.
cool - there's a hal "list pins" command, I take it?
and maybe even scan the .ini and appropiate .hal(s) for certain signals
but.. only if you work at user level
if you do it from the code, you have access to the hal-shm
and have linked lists which you can navigate
hmmm - parsing the output of 'halcmd show pins' (with appropriate modifications to its output) might be better
one place to make changes
SWP: you don't want to do that for programs
it's ok for scripts
next you'd want to parse halcmd show value
and output that on the screen
imagine doing that 30 times / second :(
are there hal_lib functions to walk the lists? (I should look at the source before venturing suggestions :) )
there is some support
not that hard to code
rihgt - it should just be coded once :)
Alpha1125 is now known as A-L-P-H-A
rayh: still around?
you are awfully quiet ;)
heh - the phone may be bothering him again (he also mentioned a reboot a little while ago...)
there goes 5 hours wasted.
screwed up the spindle housing, must restart.
I can do another few hours, OR, just buy a tube, and bore slightly, and ream... choices, choices.
I think I'll just do the later. :/
I could be helpful and say "don't do that", but I won't :)
though it was good practice... and only a few bucks in materials. But still... 5hrs. :(
You bet i am alex_joni
I'd appreciate some feedback
I'm working on a tcl/tk front end to parts of halcmd.
I sent a mail to jmk about this, but I guess he's pretty busy doing other stuff..
rayh: that you'll be able to use from other tcl/tk's ?
I'm still pretty green with halcmd
rayh: you take it from the user's side
maybe extensions to iosh would be more usefull?
I'm still trying to get show pins to display a list.
getting close though.
John and I were talking about a version of halcmd that simplifies what gets returned.
In the end what I'm doing might lead to some extensions of iosh.
or at least a halcmd replacement for inb and outb
rayh: if you can give me a wishlist for iosh I might be able to do it
We must rip out inb --- inw and outb -- outw
and we need setp / getp instead
and build similar things for hal.
problem is pin type
The trouble is that halcmd is so much smarter and more capable than inb and outb
1/4 to 5, and I've got an alcohol buzz.
no more machining till I sober up.
We could just read halpins and write halbins.
is 'halcmd setp $OUTPUT_NAME 0' such a bad thing?
they are all pins
ones are typed bools, other u8, u16, u32 and float
rather than outb($PORT, (inb($PORT) & ~(1<<$BIT))
John was talking about expanding halcmd a bit so that we could query a single pin.
there should be a "getp"
or make show accept a simgle pin or signal name (if itdoesn't already)
If we had getp that would do it.
SWP: but you still would have to know it's name
smthg like: parport.0.input-12
yeah - I was thinking there needs to be an aliasing system, or a "rename" component
so you can ask for "spindle_out"
* robin_sz nods
just do set( "spindle_out" , 1) or whatever
or get spindle_out
and somewhere, some pin turns the spindle on
SWP: you can have a signal called spindle_out
which connects to parport.0.output15-not
if you want
problem is .. you can only have one writer to a hal pin
so you could write only to pins that are not connected
the same way you only have one driver on a wire
but htats easy .. just wire them to a hal OR gate or whatever
unless John's idea of a "bidir" gets implemented
the signal has the value of the last writer
* Phydbleep hands robin_sz the I^2C spec and asks "Are you sure about that?"
but I^^2C is screwy madness
* anonimasu yawns
wrote the internals of some I2c driven TV once
there are probably people righ tnow complaining about it not wanting to select certain channels without a reboot, and the sound randomly jumping in level etc etc etc
* Phydbleep is building machine modules with a 3Mbit I^2C interconnect.
Beats hell out of 'carrier rats' or 'tin cans and string' :)
robin_sz: Face it man, You just cant do RT via Rat-Express. :)
what about the way I do it, with an RFC2549 compliant realtime network
alex_joni: I'm with you on the set pin thing.
but that would make it a bit unusable for writing ;)
extension of the old RFC1149 networking standard
if jmk implements stuff for bidir pins.. heh..it would be fairly easy
can setp change a pin that's connected to a signal?
(that would imply multiple writers)
Specification of Requirements
In this document, several words are used to signify the requirements
of the specification. These words are often capitalized.
MUST NOT Usually not.
SHOULD Only when Marketing insists.
MAY Only if it doesn't cost extra.
setp changes a parameter
right - 'p' = parameter, not pin
robin_sz: It wouls work with an absolute positioning system, but it'd take a month to come out of e-stop. :)
SWP: right now a signal is connected to 1 writer
and 1 or more readers
only the writer can write to it
and all the readers can read it
yep - I was thinking of scope, then realized that it's a reader
the moment you connect a signal it checks if it already has a writer, if so it'll only connect to readers
alex_joni: Where does that leave screwballs like me? I was going to use 2 lpt's (1 for address, 1 for data) and treat it like a data array.
SWPadnos: Me? To control a 3+ axis machine.
I mean what's the addr/data for?
(ie, address of what)
SWP: one parport not enough?
it is for me, I have a USC
working in emc2?
Direct control to test the prototype.. Shutdown emc and pump test routines out the ports to exercise the unit.
I wonder what erxternal hardware would use an address and data interface
hmmm.. another PC?
you could still make a HAL for that - you would just have 256 halbyte pins
the output routine would then have to output data as needed by the hardware
(probably wat to keep track of changed bytes for efficiency)
SWPadnos: Yeah, ?I was hoping that would work. :)
I have tried the USC with BDI4 (on 2.6) - I haven't had a chance to try the other code that's in HEAD right now :(
SWPadnos: The machine controller ends up as the RT controller and emc just pumps g/m code at it.
ah - a custom controller?
SWPadnos: Yeah, PIC 18F452 master with a 16F819 on the encoder and a 16F57(?) on the motor driver.
bleah PIC :-x
they have flash '5x chips now?
what a waste of good flash :)
I gave up on the PIC when the AVR came out - I like processors that can keep track of the carry bit themselves
Makes prototyping a snap if you build for ICSP.
I never used the 18xxx though - those are the hogher end chips, right
SWPadnos: 40MHz micro with UART/I^2C/8 channel 10 bit ADC/32k flash/256byte eeprom/1536 byte ram.
sounds like an ATMega32
at 10 MHz
you get JTAG for that
and a free c compiler
the PICs are usually less expensive though
well.. depends on what you code
Microchip is making some nice dsp chips now too.... DSPic line.
if you need to spend a few G's on devel tools..
they're not much better than the mega instruction set, from what I can see
the megas have an 8-bit multiply, fractional as well
(8x8 with 16-bit result)
That's just the 18F452.. The 18Fxx line is huge and they have some fun interface options.
indeed. the PICs are usually better at power-related things, and the AVRs with just about everything else (from what I've seen)
there are AVRs that go to 256k flash now
also 10-channel light controllers (many PWMs)
and also some GPL OS'es available for AVR
like the ethernut I worked on
true of the PIC as well, I think
there is a tinyC pic compiler (or something like that)
anyways... I did make a few ucontroller boards
and the ones with PIC's ALWAYS had problems
I didn't get it ...
every time I ran into troubles
and no simple problems..
stuff like.. board doesn't work if you take you hands off it
alex_joni: In a machine enviroment you really have to watch the power supplies or you'll get noise that will kill it. :\
or it randomly resets
last PIC I overclocked at 50 Hz
that PIC is around half the price of the mostly comparable AVR though
did work for a few cycles
then it jumped to the ceiling :)
which is why some people still use them, I guess :)
up to PIC heaven
well.. it liked the 50Hz
alex_joni: You mean overclocked at 50 MHz?
just didn't like the 230V power supply
for a real speed improvement, use the SX chip - they actually pipelined the CPU, and it runs at 1 instruction per clock
does it run on AC power?
(though interrupts have more jitter, I think)
I'll try one ;)
maybe a bit higher
that's about the only thing I could convince myselfto do with a PIC
alex_joni: Plugging the PIC straight into the mains exceeds VDD by 220V, voids the warranty and is not reccomended design practice. :)
yeah.. and it leaves bad smoke marks on the ceiling
but it's ok for me
SWPadnos: Scary.. I was thinking about a 2 kg brick of steel propelled down the barrel by a row of exploding PIC's. :)
hey - lots of repeat sales :)
now there's a project I'd like to get involved with
(I'd loveto have the lucrative service contract on that one)
SWP: the beauty is .. you can use scrap parts too
alex_joni: I've never had a problem with them, Of course I de-rate parts 50-80% depending on what I'm doing and how paranoid I am about the device trying to self-destruct.
you are certainly lucky ;)
* Phydbleep is hte type that uses 2kV caps in 100V motor drive circuits so he can forget about them for 20 years...
* alex_joni imagines some 2kV 1F caps
50A diode bridges in 15A circuits, Whatever's handy and looks like it will survive use, abuse, neglect and eventually fail in a spectacular manner.. :)
Gotta run guys. Fun and instructive as always.
um - bye
Laters ray. :)
alex_joni: I end up recycling 90% of my components from surplus/salvage.. Sandia/LANL are close so we get all kinds of odd surplus here.
[21:46:31] <alex_joni> http://dsplabs.utt.ro/projects/contests/suceava_2002/photo/page_03/im040.jpg
some project with PIC I did a while ago at a contest
alex_joni: Wow! A door lock! <JK> :)
it was actually a control system for an alarm system
we had 4 days to do the whole thing
HW & SW
hence the high quality board layout ;)
[21:51:17] <alex_joni> http://www.eed.usv.ro/html/hard_soft_contest.php
think I'm going to bed soon..
SWPadnos: Hey man I still have a big block of the plug-n-proto stuff I use for quick setups. :)
yeah - it's still useful
alex_joni: BEEP! Wake up and go to sleep. :)
[21:58:07] <alex_joni> http://dcti.usv.ro/misc/gallery/hs2003/abc
big F'n mistake.
that's me in the background working on some stuff
ALPHA: what is?
Called an exGF. it's like nothing ever happened. And everything is fine.
if you're that lucky
it's not exactly a good thing,
I don't know.
it's the first time I'm drunk, and just decided to call my old firends up.
and she was someone I haden't talked to in a very long time
Phydbleep, are yo uobiwan?
obiwan with a headset?
Phydbleep, can't you get a better picture than that?
anyways, so I called her up... before she went into work, and wants to talk some more at 12:30am.
A-L-P-H-A: No.. More like R2 and Chewbakka's love child. :)
fenn_afk, no... we'll see the acme scares.
shit, I'm actually thinking of going to her work...
just not in this drunk'n state.
A-L-P-H-A: So by about 02:00 you should be fighting again?
A-L-P-H-A: too bad you missed 12:30 :(
[01:01] <alex_joni> A-L-P-H-A: too bad you missed 12:30 :(
could be 12:30am WEST for what I care
aj. :) DIE. :)
6.5 hours from now.
ah... f@ck, my head's spinning
alcohol is known to be poisonous...
ALPHA: lay down for a couple of hours
it's known to help
fenn_afk: Uh oh, Time for an exorcism.. Grab a vernier caliper and repeat after me..
try throwing up all over yourself :)
In the name of henry maudsley, thou shalt not drink and operate heavy machinery.
A-L-P-H-A: "The Power of Beans Propells You!"
fenn_afk: Are fat chicks classed as heavy equipment?
alex_joni: If we're lucky they're coffee beans. :)
* Phydbleep has never met A-L-P-H-A or his ex-gf and is asking out of curiosity.
You guys are lucky - to even have exGF's
exGF is no better than noGF
Define 'lucky' my ex-gf and my wife sit around and compare notes.. :)
im at the first experience on emc
we all have our defects ;)
i don't know how to connect input limit switch to the parallel port
what flavour of emc?
i'm using bdi
I mean.. where did you get it from, how did you install?
the latest i suppose
jacky^: Do you have a connector/adapter to plug onto the port?
i download it some week ago
Phydbleep: no, i'm using a simple cable
jacky^: OK, so you're not just jamming wires into the back of the pc. :)
i tried to connect all switches in parallel
all limit - togheter
did you take a look at the Integrators Handbook?
lim+ go to pin 15
yes, i know
lim- go to pin 13
and home to 12
the strange thing is
also.. if tkemc starts with big red letters
you probably have the polarity reversed
you can fix that easily from the ini
testing voltage on these pin i always read about 4,80 V
the switch are normally open
what is the voltage if you close a switch?
Phydbleep, alex_joni, instead of laying down... I'm going to driving range. Relieve some stress, and pentup sexual frustration
are optical switch
well.. you need a pulldown
jacky^: Try a 10k resistor to ground.
I had a phonecall, one of my good friends. going to the driving range, and nailing some balls into the 200+ yards line.
A-L-P-H-A: Somehow 'Displaying your frustrated sex-drive' by 'going out in public and playing with your balls' seems almost poetic. :)
* Phydbleep has a talent for stating the obvious.
jacky^: Did that help?
tnx, i'm reading
but it seems your voltage won't go down, that's why the system doesn't see the switch
you need some pulldown to make it go low (the 10k resistor Phydbleep suggested should do the trick)
alex_joni: Probably no pull-up/down resistors in the port/chip.
alex_joni: if i test the voltage on pin 12-13-15 i have 5 V.. without connect anything
the parport has internal pullups on some modes
so as not to let the pins floating.. which might confuse apps
jacky^: Tie pin 13 to ground through a 10k resistor, then read it.
jacky^: IF it works use 1 resistor for each of the 3 leads.
non need diode zener , right ?
Nope.. Use pins 18-25 for ground
if you have optical switches .. it should be ok
better stick to 25
some wierd parports don't have 18-25 tied together
* Phydbleep bus-bars the connector to be sure.
can i test first, np
alex_joni: Extra minute with the soldering iron saves a lot of headaches later. :)
jacky^: mind telling us where from, and what you'll use emc for?
alex_joni: Somewhere in Italy. :)
uhm.. i try (sorry my english is very bad)
Fido: actually figured that out myself ;)
i would like to use emc for personal use
italy is a nice country
been there twice
nice to see it
not live there
i like australia
too warm ;)
europe won't work ..
usa the same
well.. let us know if it works... ok?
i tested it this evening
i can move manually
can you home?
no.. i just tried to move xyz axes using + -
i tried emc generic
jacky^: I don't know if you're aware, but there's a wiki page (wiki.linuxcnc.org) covering pretty much
i'm looking for edit the ini file
also.. there's a section there with peoples machines, you might want to add yours when it works
ah ! tnx
ill' see soon
this is it for me for toda
[01:55] <alex_joni> night, or good morning depending on your EST | WEST | whatever timezone ;)
jacky^: found the handbooks?
yes, tnx a lot :-)
jacky^: you might also want to look at http://sourceforge.net/project/showfiles.php?group_id=6744
there's a docs.tgz
contains Integrator, Developer, User Handbook.. a bit old, but usefull information
night now ;)
* anonimasu yawns
* Phydbleep wanders back from dealing with the aftermath of a "Child + Cat + sticky food" situation..
I should either draw some part, or watch a movie