#emc | Logs for 2007-09-18

Back
[01:00:14] <ds2> raw material pricing is sure wacky... I can get "finished" goods cheaper then "raw" material :/
[01:00:48] <toast> raw material is cheaper when you buy it by the ton to feed into screw machines
[01:01:14] <ds2> direct from the mill?
[01:01:28] <toast> nah, from whoever
[01:01:46] <toast> small quantities and sizes are hard to deal with for a supplier
[01:01:53] <ds2> in small quantities, i.e. Home Depot -
[01:02:05] <toast> ?
[01:02:08] <ds2> I can pay about $4 for a 36"x2"x0.125 peice of strapping
[01:02:20] <ds2> or I can pay about $10 for a similiar size peice of hot rolled
[01:02:34] <toast> indeed
[01:02:53] <ds2> guess I'll cut up strapping instead unless the scrap dealers around here can do better
[01:03:00] <toast> home depot is set up to deal with very small orders.
[01:03:13] <toast> you'd probably get a steal if you bought a whole roll of .125 hot roll.
[01:03:21] <ds2> heh
[01:03:21] <toast> roll/spool/whutev
[01:03:31] <ds2> they are both small quantities
[01:03:39] <toast> a whole roll?
[01:03:42] <toast> like, a six ton roll?
[01:03:52] <ds2> no the straps vs the 36" bar of hot roll
[01:04:17] <toast> yeah, i was saying if you bought the entire spool of .125" hot rolled
[01:04:19] <toast> from the mill
[01:04:23] <toast> you'd probably get a great price
[01:04:32] <ds2> no doubt
[01:04:43] <toast> what are you making, by the way
[01:05:03] <ds2> a clone of an import hydraulic press
[01:05:14] <ds2> need it to drop a punch
[01:05:15] <toast> haha, cool
[01:05:50] <ds2> http://www.harborfreightusa.com/usa/itemdisplay/displayItem.do?itemid=1666&CategoryName=&SubCategoryName=
[01:06:04] <ds2> like that but with more Z clearance (not travel, just clearance)
[01:06:26] <ds2> the entire top part is laminated ~0.125 peices, just need some C channels and I should be set
[01:06:36] <toast> nice
[01:07:10] <ds2> punching is so much nicer then drilling for sheet stock
[01:08:56] <toast> i concur
[01:09:03] <toast> no crapped up edges
[01:09:26] <ds2> no spinning blade of death on the drill press from not properly clamping it ;)
[01:31:21] <skinnypuppy1334> Ran across this looking for stepper motors, eyecandy
[01:31:24] <skinnypuppy1334> http://cgi.ebay.com/Bronze-Copper-and-Brass-Cube-Puzzle-Sculptures_W0QQitemZ260156632510QQihZ016QQcategoryZ45208QQssPageNameZWDVWQQrdZ1QQcmdZViewItem
[01:39:05] <skyfox00> If the parport is set to EPP mode in the BIOS and the LED on the pluto board goes out when the driver loads with no errors, why does the 'pluto.hal' file not make the LED blink?
[01:40:04] <cradek> maybe there's something wrong in pluto.hal?
[01:40:17] <skyfox00> that though crossed my mind....
[01:40:34] <skyfox00> you do know the file I am refering to, right?
[01:42:10] <cradek> nope
[01:42:39] <skyfox00> Also, the pluto.hal uses dashes instead of dots and warns that 'linkpp' is outdated(?) and to use 'net' instead
[01:43:05] <skyfox00> oh, its a short halfile that just makes the LED on the pluto board fade in and out(product of sine)
[01:44:02] <cradek> sounds like it's outdated
[01:44:37] <Guest211> I would think it would error out and not run.
[01:44:59] <cradek> where did it come from?
[01:45:12] <Guest211> Guest211 is now known as skunkworks
[01:45:28] <skyfox00> um, it floats around on the net, I cant remember where I got it from...
[01:45:40] <skyfox00> do you want me to pastbin it?
[01:45:58] <cradek> sure
[01:46:38] <jmkasunich_> jmkasunich_ is now known as jmkasunich
[01:47:35] <skunkworks> pluto hal file floating around the net.. interesting. where in the net is carmon plutiago. :)
[01:48:36] <SWPadnos> skunkworks, how often do I have to remind you to take your meds? :)
[01:48:45] <skyfox00> ok, I think this is the link: http://pluto.pastebin.com/m16b5559
[01:49:40] <skyfox00> That is a version that I had modified to try to get it working...
[01:51:04] <skunkworks> oh - it was funny. I was laughing.
[01:52:57] <cradek> does halscope on pwm.0.value show the signal?
[01:53:08] <cradek> did you check whether pwm.0 has a scale that needs to be set?
[01:53:09] <skyfox00> yes...
[01:53:18] <skyfox00> no idea
[01:53:32] <skyfox00> hal is mostly greek to me at this point...
[01:53:38] <cradek> check the man page, or at least use halcmd show and look for obvious stuff that needs to be set
[01:55:14] <skyfox00> the man page for halcmd?
[01:55:34] <SWPadnos> yes
[01:55:41] <SWPadnos> or halcmd -h
[01:55:45] <cradek> or for pluto_servo
[01:55:46] <SWPadnos> or help at the halcmd: prompt
[01:56:28] <SWPadnos> I'll bet the docs (at least the online ones) also have information on pluto and halcmd
[02:00:21] <cradek> now where's the key for my 0-4mm jacobs chuck...
[02:00:31] <SWPadnos> on the chair
[02:01:01] <skunkworks> that is cute. :)
[02:01:09] <cradek> incorrect - the right answer is "probably right around here somewhere dammit"
[02:01:22] <SWPadnos> sorry - on the brown chair :)
[02:01:59] <skyfox00> does anyone know of an LED blink hal-file that should work with the cvs-version of emc? (or am I just asking the wrong question in the right place)
[02:02:26] <SWPadnos> I can blink LEDs ...
[02:02:29] <SWPadnos> in the 5i22
[02:02:34] <SWPadnos> on
[02:02:35] <skunkworks> I have not used it in a while - but about a month ago it did.
[02:03:01] <jmkasunich> what are you trying to blink LEDs with? parport? pluto? m5i20?
[02:03:04] <cradek> setp pluto-servo.pwm.0.scale 26 # volts supply
[02:03:10] <SWPadnos> pluto
[02:03:12] <skyfox00> sorry, yeah the pluto...
[02:03:12] <cradek> there is a scale. you're not setting it. discuss.
[02:03:36] <SWPadnos> should default to 1. if it doesn't, whose fault is it?
[02:03:40] <cradek> sorry, I can't run mine right now or I'd figure it out for you
[02:03:41] <SWPadnos> could it be .... SATAN?
[02:03:52] <SWPadnos> hm?
[02:03:53] <skyfox00> thats ok, thanks anyway
[02:03:54] <cradek> haha
[02:04:05] <cradek> wasting our natural race horses!?
[02:04:13] <cradek> she (he) was very funny
[02:04:15] <skunkworks> did we all forget to take our medication?
[02:04:29] <SWPadnos> heh
[02:04:47] <cradek> oh ... nevermind.
[02:04:59] <skunkworks> biab - be warned
[02:05:07] <jmkasunich> be afraid
[02:05:32] <SWPadnos> I had a teacher who used to say that. whenever I said "see you later" he'd say "thanks for the warning"
[02:06:00] <cradek> argh, I keep looking places I've already looked. that's a sign of insanity isn't it?
[02:06:03] <SWPadnos> hmmm. that's the same one who, when I'd say "shit happens" would say "yeah, but you don't have to stand under the elephant"
[02:06:13] <SWPadnos> only if you expect the outcome to change
[02:06:21] <Skullworks-PGAB> I have an Idea / ?
[02:07:06] <cradek> hey I found it! it was last place I looked
[02:07:21] <SWPadnos> weird. that *always* happens
[02:08:00] <Skullworks-PGAB> not to me - I keep looking for other things after I've found what I need
[02:09:34] <Skullworks-PGAB> shoot this down if I'm wrong.
[02:09:41] <skyfox00> ok, I have located where I got the pluto.hal from...
[02:11:04] <Skullworks-PGAB> I was thinking of taking a US Digital E4P and having custom discs made with only 2 slots on the disc
[02:11:59] <Skullworks-PGAB> by changing the angle of seperation it would change the effective resolution
[02:12:16] <skunkworks> skyfox00: I think this is the last one I played with. http://pastebin.ca/701448
[02:13:31] <SWPadnos> Skullworks-PGAB, was that the whole idea?
[02:13:49] <Skullworks-PGAB> os you could rig up a circuit to read A/B as an index for precision homing of steppers (if the encoder is mounted on the screw not the motor)
[02:13:59] <skyfox00> oh, btw, I was looking in the 5i2* drivers the other day and it looked like the 5i22 stuff was commented out.... so what is the current status of the 5i20/5i22?
[02:14:20] <SWPadnos> Skullworks-PGAB, I'd just get one of their wheels with the index and be done with it
[02:14:35] <skyfox00> thanks skunkworks, I'll save it and when I get my thumb-drive in here I'll stick it on and try it...
[02:14:43] <Skullworks-PGAB> The E4P encoder alnoe is cheaper than adding the index option to a encoder
[02:15:00] <SWPadnos> skyfox00, 5i20 works with the Mesa HOSTMOT4 configuration (4xPWM+encoder inputs, 32 digital inputs, 16 digital outputs)
[02:15:02] <jepler> skyfox00: that .hal file runs the LED on my system (dapper / TRUNK)
[02:15:24] <Skullworks-PGAB> this is to supply index only info - used only for homing
[02:15:30] <jepler> I ran it with: halrun -I -f skyfox.hal
[02:15:36] <SWPadnos> the 512x (supporting the 5i20 and 5i22) with the reconfigurability options is still a work in progress
[02:15:48] <SWPadnos> Skullworks-PGAB, then only hook up the index channel ...
[02:16:12] <SWPadnos> I'm sure it's less expensive to pay the extra $10 to USDigitl to get an encoder with index than it is to get a custom disk made
[02:16:47] <skyfox00> jepler: did it give warnings about anything?
[02:16:58] <jepler> m16b5559.txt:37: Warning: linkpp command is deprecated, use 'net'
[02:16:59] <Skullworks-PGAB> yes - but for an open loop stepper system why pay $54 for an encoder if your not going to use the quad when a $19 unit can do the same task - for homing only.
[02:17:06] <Jymmm> SWPadnos: (screen -> start_x_app)
[02:17:15] <SWPadnos> ok
[02:17:24] <skyfox00> ok, yeah, thats what it tells me...
[02:17:50] <skunkworks> Skullworks-PGAB: why not use the encoders for postion feedback? seems to work so far :)
[02:18:38] <Skullworks-PGAB> I'm talking about using it for someone running a Xylotec or other simple stepper system
[02:18:57] <skyfox00> well, the computers BIOS says it can do and is currently set to EPP mode, but maybe it can't.
[02:19:29] <jepler> skyfox00: at least try epp_wide=0 on the loadrt pluto_servo line
[02:19:41] <skyfox00> also, after an emc crash/bail, why does /dev/tty vanish?
[02:19:47] <Skullworks-PGAB> just to provide a fine repeatable home index
[02:19:54] <skyfox00> jepler: will give it a try....
[02:20:10] <skinnypuppy> You guys using any last second bid placers for ebay? I'm watching several motors that all end at the same time.
[02:20:43] <Skullworks-PGAB> from Kelinc?
[02:21:20] <jepler> skyfox00: because the runscript removes $DEBUG_FILE and $PRINT_FILE which is set to /dev/tty depending on the flags you run emc with
[02:21:36] <skyfox00> oh, that would do it...
[02:21:36] <jepler> skyfox00: the emc script is designed to be run as a user, where "rm -f /dev/tty" does nothing, harmlessly.
[02:21:51] <tomp2> skinnypuppy: snip (maybe thats old technology now ) www.snip.pl
[02:21:56] <Skullworks-PGAB> * Skullworks-PGAB is not buying - but notes it is often cheaper to buy Kelinc motors via ebay than from his websight - better shipping prices
[02:22:34] <skyfox00> jepler: and because I run it as root.... by-by /dev/tty
[02:22:53] <cradek> skyfox00: don't do that!
[02:23:02] <skinnypuppy> These are from seller cncinmotion. How are the quality of the kelinc stepper motors?
[02:23:22] <Skullworks-PGAB> some of the best
[02:23:41] <Skullworks-PGAB> NSK bearings
[02:23:42] <SWPadnos> Skullworks-PGAB, you don't need an encoder reading module to get an index pulse. All you need is an opto-interrupter and a disc with an opaque spot on it
[02:23:59] <SWPadnos> like one of these, for $0.87: http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=CNA1303K-ND
[02:24:26] <Skullworks-PGAB> right - but to make that pulse active width very narrow
[02:24:49] <skinnypuppy> Good to know, if I don't score some pacsci motors on fleebay by this thursday i'll prob order from kelling
[02:24:55] <jepler> it doesn't need to be particularly narrow -- a repeatable rise position is most important
[02:24:58] <skyfox00> cradek: I have to use 'insmod' and 'rmmod' directly in /etc/init.d/realtime because the
[02:25:11] <skyfox00> emc_module_helper cant find the modules...
[02:25:19] <SWPadnos> you can use a disc with a slot in it, and have a comparator externally, so it only trips at a certain brightness
[02:25:29] <Skullworks-PGAB> SWP - something like that is what I would use for a spindle tach
[02:25:32] <jepler> well, hm, the situation is going to be a bit different because there's no "index-enable" pin in this stepper + index pulse setup
[02:26:15] <SWPadnos> true - you need to have an index input to the thing counting, and stepgen don't got one
[02:26:53] <jepler> but in any proper system, the index pulse is edge triggered, so the width doesn't matter as long as it's "wide" enough to be seen
[02:26:58] <skinnypuppy> tomp, thaks for the snip.pl link
[02:27:48] <skyfox00> ok, I'm going to go try epp_wide=0, bbl
[02:28:01] <skyfox00> * skyfox00 is back
[02:28:09] <skyfox00> * skyfox00 is away: bbl
[02:28:16] <toast> OR IS HE
[02:34:44] <skinnypuppy> What's a good agp video card for emc? I've got nvidia in both boxes....and run time message on both but didn't worry since I've only been doing sim
[02:35:04] <SWPadnos> Matrox G400 or G450
[02:35:22] <Jymmm> Trident 8700 8 bit ISA
[02:35:29] <SWPadnos> no, that's not good
[02:35:33] <SWPadnos> Tseng ET4000
[02:35:36] <jepler> actually the 7-bit cards work better because they leave at least one bit free for emc at all times
[02:35:41] <Jymmm> SWPadnos: Hercules!
[02:35:44] <jepler> also, 128 colors is enough for anyone
[02:35:49] <SWPadnos> Hercules for sure
[02:35:55] <SWPadnos> it has a parallel port too
[02:36:02] <Jymmm> 2 colors... amber ofr green
[02:36:03] <skinnypuppy> I'll check those out, while I'm at it, preference b/t asus abit and gigabit brand mb?
[02:36:07] <Jymmm> SWPadnos: good point
[02:36:15] <Jymmm> SWPadnos: I still hav a working one too
[02:36:23] <SWPadnos> but how can you tell?
[02:36:34] <Jymmm> SWPadnos: 486SX25
[02:36:44] <SWPadnos> no, I mean the monitor
[02:36:49] <jepler> skinnypuppy: I hate to say it but it always feels like a crapshoot buying a new PC for emc...
[02:36:53] <skunkworks> hurcules
[02:37:00] <SWPadnos> I don't think there
[02:37:02] <Jymmm> SWPadnos: POS display
[02:37:21] <jepler> skinnypuppy: recently I've had good luck with two AMD machines, both abit motherboards I think
[02:37:25] <SWPadnos> I don't think there's a known difference between motherboard manufacturers as far as realtime performance
[02:37:28] <Jymmm> SWPadnos: 12" CRT's RULE!!!
[02:37:28] <Skullworks-PGAB> I shall chew on this further as I give the new employees SHIT = ( Super High Intensity Training ) - I've trained 3 noobs in 2 days.
[02:37:36] <skinnypuppy> hehe hear ya there jepler, kind of been that way for linux a little, but better than crawlin with the windows buggggssss
[02:37:41] <jepler> if you get intel, you'll probably have to deal with smi which is just one more hassle..
[02:37:59] <Jymmm> Skullworks-PGAB: If anyone is gonna give em shit it be you, you're so full of it
[02:38:07] <cradek> everyone cross your fingers for my #0 center drill
[02:38:25] <SWPadnos> good luck, #0 center drill
[02:38:31] <Skullworks-PGAB> * Skullworks-PGAB squits some black oil...
[02:38:32] <Jymmm> "We'll miss you!"
[02:38:42] <skinnypuppy> smi jepler?
[02:38:43] <cradek> Jymmm: haha no kidding
[02:38:48] <SWPadnos> don't do anything I wouldn't do
[02:38:48] <Jymmm> cradek: ;)
[02:39:03] <SWPadnos> System Management Interface
[02:39:03] <Jymmm> SWPadnos: drilling has nothing todo with food
[02:39:13] <SWPadnos> damn. now I'm hungry
[02:39:14] <jepler> skinnypuppy: SMI is a way for software in the BIOS to unexpectedly execute code when the OS (even 32-bit protected-mode OS like linux) didn't expect it
[02:39:17] <cradek> surface speed * 4 / diameter = INFINITY!?
[02:39:39] <SWPadnos> set surface speed = 0
[02:39:44] <skinnypuppy> then might an amd box be better for emc?
[02:39:45] <jepler> skinnypuppy: both amd and intel support it in their CPUs, but only intel's chipsets seem to use it at the moment
[02:39:49] <Jymmm> SWPadnos: and me trying to avoid starches
[02:40:08] <SWPadnos> well, you don't have to eat the potatoes
[02:40:14] <jepler> skinnypuppy: in the case of several common intel chipsets there is a hack (rtai_smi.ko) to disable smi
[02:40:16] <SWPadnos> you can just stare at them
[02:40:42] <jepler> skinnypuppy: so I wouldn't say that intel is an absolute no (since there's rtai_smi.ko) and since the amd cpus support SMI there's no reason to believe their BIOSes won't start using it at some point
[02:40:48] <SWPadnos> skinnypuppy, I think jepler had it right the first time - it's more or less a crap shoot
[02:40:48] <Jymmm> SWPadnos: Can't really eat anything fast food.... buns, tacos, chips, fries, tortillas, bread, etc
[02:40:54] <jepler> (intel apparently uses it for stuff like thermal management)
[02:41:03] <SWPadnos> Jymmm, that's probably best anyway
[02:41:29] <Jymmm> SWPadnos: Yeah, but wehn you work till wee houtrs of the morning it's hard to find anything
[02:41:40] <skinnypuppy> I guess on the otherhand the amd 2.4 I have may be less crapshoot with a new vid card
[02:42:20] <jepler> "I had one Intel motherboard that worked pretty well most of the time, but every 64 seconds it had a very bad 300uS latency. Fortunately that was fixable, see FixingDapperSMIIssues" -- http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?TweakingSoftwareStepGeneration linking to http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?FixingDapperSMIIssues
[02:42:36] <Skullworks-PGAB> Intel got a plane load of cash out of Boeing for the pIII cpu & PIIX4E chipset - for real time fly by wire uses
[02:42:51] <skunkworks> scary
[02:42:51] <skinnypuppy> Jepler, I'm bookmarking those. thanks
[02:43:01] <SWPadnos> hmmm. Intel has a page up where they're taking suggestions for future processor enhancements
[02:43:02] <skinnypuppy> yikes
[02:43:23] <jepler> wikipedia explanation of SMI: http://en.wikipedia.org/wiki/System_Management_Mode
[02:43:35] <SWPadnos> I was thinking of asking for some internal timer interrupt mechanism, and maybe a second set of registers for interrupt context or something
[02:44:40] <jepler> didn't Z80 or some other early 8-bit have quick swap to an alternate set of registers?
[02:44:55] <jmkasunich> yep
[02:45:15] <SWPadnos> yep, I think it was Z80
[02:45:22] <jmkasunich> the problem with extra sets is that they only allow one level of interrupts
[02:45:26] <jmkasunich> pretty limiting
[02:45:45] <SWPadnos> and there are CPUs that have sliding windows into large register files (like SPARC, I think)
[02:46:26] <SWPadnos> they only allow one "fast" interrupt - but it would be nice if you could assign that one to something
[02:46:38] <jmkasunich> given that CPUs now have many K of full speed memory on chip (cache), having dozens of "register sets" would be easy
[02:46:46] <jmkasunich> they're just blocks of cache ram
[02:47:14] <Skullworks-PGAB> and small blocks at that
[02:47:21] <SWPadnos> the idea I had was to make a TSC-like register that the microcode scheduler knows about, and it can use code like hyperthreading to just execute the interrupt code periodically
[02:47:49] <jmkasunich> in fact, if you used cache for them, you could have the most deeply nexted sets automatically flushed out to main memory, if you nest deep enough that you have to loop around
[02:48:18] <SWPadnos> it knows that a 50-cycle pipeline needs to start getting populated with the interrupt code (locked in L1 cache) 50 cycles before the timeout (which is internal to the CPU)
[02:50:26] <jepler> apparently Z80 had EX AF,AF' and EXX which exchanges BC, DE, and HL with their counterparts
[02:50:34] <jmkasunich> yep
[02:50:34] <jepler> I don't see an instruction that swaps them all, and it doesn't seem to swap PC
[02:50:51] <jmkasunich> swapping PC doesn't make any sense
[02:50:52] <SWPadnos> PC can't be swapped
[02:51:00] <jmkasunich> well, it can in a way
[02:51:01] <jepler> or SP
[02:51:14] <jmkasunich> call "swaps" it's old value to the stack
[02:51:18] <jepler> my memory had made it into essentially a "task swap" operation
[02:51:18] <jmkasunich> and ret swaps it back
[02:51:24] <SWPadnos> heh
[02:51:37] <cradek> whee, 150 holes with one #0 center drill, I could never do that without cnc
[02:51:46] <jmkasunich> vacuum table?
[02:52:14] <cradek> yeah
[02:52:59] <jepler> hmph, units can't convert drill gauge to length
[02:53:13] <cradek> maybe it's a #00, I'm not sure
[02:53:17] <cradek> looks small to me
[02:53:27] <jmkasunich> you mean like #7 drill = 0.201" diameter?
[02:53:29] <jepler> smaller drill numbers are smaller diameter?
[02:53:39] <cradek> jepler: funny isn't it
[02:53:42] <jmkasunich> no, larger numbers are smaller dia, like wire gages
[02:53:51] <cradek> jmkasunich: not on center drills
[02:53:57] <jmkasunich> oh
[02:54:02] <cradek> they have their own numbering scheme (of course)
[02:54:09] <jmkasunich> I thought he was talking about ordinary number drills
[02:54:22] <jmkasunich> there aren't that many center drill sizes
[02:54:24] <cradek> oh yeah I'm drilling with #49 :-)
[02:54:35] <cradek> it's about the same size as #0, maybe a bit bigger
[02:54:56] <jmkasunich> #0 center drill you mean?
[02:54:59] <jepler> so a #0 center drill is about the same size as a #49 drill?
[02:55:10] <cradek> more or less
[02:55:11] <jmkasunich> #49 is the same as the little tip part of #0 center drill?
[02:55:15] <jepler> what wire and screw gauges are about the same size?
[02:55:23] <jmkasunich> lol
[02:55:30] <jmkasunich> screw numbers are the other way
[02:55:31] <cradek> maybe 12 gauge wire
[02:55:33] <jepler> http://i-logic.com/utilities/CenterDrills.htm
[02:55:40] <jmkasunich> those actually have a formula
[02:55:51] <cradek> lolamericans
[02:56:01] <jmkasunich> screw number * 0.013" + 0.060"
[02:56:01] <skinnypuppy> snickers
[02:56:38] <SWPadnos> what's a #00 screw?
[02:56:42] <jepler> wiregauge has a formula too, but it's 92^((36+(-g))/39) according to this program...
[02:56:45] <SWPadnos> or #0000
[02:57:04] <jepler> a #00 screw would be about 1.19in if it existed and if units is right when it applies its formula to g00
[02:57:14] <jmkasunich> SWPadnos: dunno about those screws, but its a safe bet they're smaller than a #0000 wire
[02:57:15] <SWPadnos> do you start subtracting the 0.013?
[02:57:16] <cradek> jepler: no, it would be tiny
[02:57:16] <jepler> er, 1.19mm
[02:57:28] <SWPadnos> #0000 are used in watches and things
[02:57:33] <cradek> jmkasunich: very true
[02:57:40] <SWPadnos> they're very small
[02:57:48] <jmkasunich> #0000 wire is about as thick as a finger
[02:57:48] <SWPadnos> someone was asking on CCED about turning them
[02:57:52] <SWPadnos> heh
[02:57:53] <jepler> units 'screwgauge(g0000)' 'mm'
[02:57:53] <jepler> * 0.5334
[02:58:26] <cradek> that sounds reasonable
[02:58:30] <jepler> and jmkasunich is right about the gauge formula, he gave the same one as units has
[02:58:49] <jepler> now the only problem with that formula is that a #000000 screw has a negative diameter
[02:59:02] <SWPadnos> so it does subtract?
[02:59:07] <jmkasunich> like all formulas it only applies over a certain range
[02:59:26] <jmkasunich> I'm sure when you get into the smaller sizes they want steps that are less than 0.013"
[02:59:47] <skinnypuppy> What would I be looking for in dmesg regarding a realtime error? I'm reading it now
[03:00:44] <skyfox00> * skyfox00 is back
[03:01:31] <jepler> skinnypuppy: if you get this popup that says this: Unexpected realtime delay: check dmesg for details.
[03:02:10] <jepler> then dmesg will tell you "In recent history there were [several numbers] elapsed between time to the motion controller. This time there were [number] which is so anomalously large that it probably signifies a problem..."
[03:03:05] <skinnypuppy> Jepler, I'll keep an eye on that while reading, thanks!
[03:03:07] <skyfox00> ok, epp_wide=0 has no effect.. I now have 2 hal files that are saposed to make the LED blink and nither works... when I do 'modprobe parport_pc' it says the parport is 'PCSPP,TRISTATE,EPP' for whatever its worth...
[03:03:22] <jepler> skinnypuppy: these numbers need to be essentially the same all the time .. otherwise, emc is not issuing step pulses or otherwise controlling the speed of the motors at a stable rate
[03:03:29] <jlmjvm> ive seen that message before
[03:03:36] <jepler> skinnypuppy: on a stepper system this means stalls; on a servo system this means following errors
[03:03:46] <jmkasunich> skyfox00: you do not want to do modprobe parport_pc
[03:04:12] <jepler> skyfox00: last time we went through this, we discovered that loading parport_pc made the port unusable by pluto_servo until reboot
[03:04:15] <jmkasunich> parport_pc is a normal linux parport driver and it will interfere with realtime drivers
[03:04:16] <skinnypuppy> I figured as much, kind of left the pc end as my last concern
[03:04:48] <skyfox00> I loaded the parport_pc just to see what it said I had, when(via halrun -I) I loadrt probe_parport, nothing shows up in dmesg...
[03:04:52] <jepler> skyfox00: but iirc you did ultimately get the led to blink on another system of yours, so that leaves me assuming there's something wrong with your compile of kernel, rtai, emc2, or some incompatability with your hardware
[03:05:00] <jepler> i.e., it's not narrowed down by much
[03:05:01] <jepler> goodnight
[03:05:08] <skyfox00> night
[03:06:16] <skyfox00> also, when I do halrun -I pluto.hal, the LED goes out... when I quit halrun, the LED comes back on...
[03:11:50] <skinnypuppy> I didn't see anything in dmesg about elapsed time, looks like it's all hardware/bios related
[03:13:11] <Skullworks-PGAB> http://wubi-installer.org/faq.php
[04:40:03] <tomp2> vapt to emc, kral's book on apt, xmpl 1 http://imagebin.ca/view/EE6Mf47.html
[04:43:34] <tomp2> the cad view of it http://imagebin.ca/view/7_qq634.html
[04:56:13] <SWPadnos> tomp2, how does it know to offset into the inside of C4?
[04:56:22] <SWPadnos> is that in text that's not visible in the screenshot?
[07:58:54] <fenn> swp going counterclockwise around c2, then "gofwd lx / tanto c4" means go along x-axis until you're tangent to c4, which in that case only happens when you're inside of c4
[07:59:14] <fenn> er. first happens when you're inside c4
[09:33:48] <mgouget> Hello!
[09:35:26] <alex_joni> hi
[09:36:26] <mgouget> I have managed ro compile emc & axis on a RH8. As this was complex, I think it is worth putting instructions in the wiki. How can I do that?
[09:37:58] <fenn> why are you using rh8?
[09:38:47] <fenn> here is how to edit the wiki http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?BasicSteps
[09:39:18] <mgouget> No special reason, except it is a trusted okd box that works OK for 7 years now.
[09:40:15] <fenn> maybe you could tack it to the bottom of http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?RedhatInstall
[09:41:21] <alex_joni> mgouget: make a new page Redhat8Install, and put some instructions like these there: http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?RtaiInstall
[09:41:35] <alex_joni> http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Redhat8Install
[09:41:37] <mgouget> Thanks fenn. I compiled everything by hand, including GTK. So I have a list of versions for libraries that fit together.
[09:42:10] <mgouget> Alex: I only compiled the simulator.
[09:42:26] <fenn> that's the easy part
[09:42:49] <alex_joni> mgouget: the simulator should be fairly easy
[09:43:01] <alex_joni> but it would be great if you could set up some rpm's
[09:43:25] <mgouget> I hate rpms :)
[09:43:38] <alex_joni> that seems odd
[09:43:46] <alex_joni> you stick with rh8 and you hate rpm's
[09:43:48] <alex_joni> :P
[09:44:07] <alex_joni> what kernel is on the rh8?
[09:44:20] <fenn> rpm
[09:44:29] <fenn> rpm's arent too bad if you use yum
[09:45:05] <mgouget> I am from the old school, configure, make...
[09:45:09] <alex_joni> The kernel is based on the 2.4.18 with selected bits from the 2.4.19 and the -ac patchset.
[09:45:11] <alex_joni> oh, my
[09:45:22] <mgouget> 2.4.18
[09:45:34] <alex_joni> mgouget: I agree with that, but if there are already packages.. why bother?
[09:45:43] <alex_joni> you could switch to gentoo, and compile everything
[09:45:45] <alex_joni> or to LFS
[09:46:19] <fenn> i guess sourcemage is the 'new gentoo'
[09:46:35] <mgouget> alex: absolutely agree, but I have so many things on that box that upgrading it tu ubuntu would be a mess.
[09:47:02] <alex_joni> mgouget: your choice :)
[09:47:11] <alex_joni> just remember backups
[09:48:08] <alex_joni> Source Mage's tagline is "Linux so advanced, it may as well be magic", and its commands have a "sorcerous theme". Each package is called a "spell", and its package management program is called "sorcery". To install a package the user must "cast" that spell.
[09:48:11] <alex_joni> hahahaha
[09:48:52] <mgouget> my physical mill runs on 6.10 lts.
[09:49:04] <alex_joni> 6.06
[09:49:25] <mgouget> sorry :(
[09:55:50] <mgouget> Alex: I have created a name (mgouget) and password in the preferences of the wiki, but still can't edit the sandbox page (This page is read-only). Is there something else to do?
[10:08:21] <mgouget> OK. As usual, RTFM :)
[10:11:11] <alex_joni> yup
[10:11:32] <alex_joni> and if that doesn't work.. stfw :D
[10:12:14] <mgouget> Yes, it is my friend...
[10:12:30] <alex_joni> heh
[10:13:01] <alex_joni> mgouget: where are you from??
[10:14:18] <mgouget> Alex: Paris, france.
[10:14:55] <alex_joni> cool, I was there 2 weeks ago :)
[10:15:09] <mgouget> Holidays?
[10:15:10] <alex_joni> very nice
[10:15:14] <alex_joni> yeah, 2 weeks in france
[10:16:17] <alex_joni> http://juve.ro/
[10:16:55] <mgouget> The town is a mess now, with the mayor trying to remove car circulation, but the net resuld is traffic jams and more pollution
[10:17:41] <alex_joni> I parked at versailles, and took an s-train
[10:18:16] <mgouget> That was the right thing to do
[10:18:46] <alex_joni> didn't spend much in paris though (only one day), maybe next time I'll have a closer look
[10:19:15] <mgouget> Ok, send me a message when you expect to come!
[10:20:26] <fenn> is it true that you can only work 35 hours per week in france?
[10:23:51] <mgouget> Regulations here are completely idiotic, with everything upside down. I runned a (software) company for 15 years and (successfully) sold it. I am now an independant consultant, and try to forget all the administrative mess. You left communism some years ago. We are still in it :(
[10:25:21] <alex_joni> fenn: we have 40 hours / week
[10:25:51] <alex_joni> mgouget: climbing the eiffel tower was really cool
[10:26:04] <alex_joni> (well, besides the enourmous mass of people, and the long waiting lines)
[10:26:34] <mgouget> take the stairs :)
[10:26:42] <alex_joni> they don't go up to the top :P
[10:26:51] <alex_joni> I wanted to.. but it's only up to the second platform
[10:27:23] <mgouget> No, but there is a restaurant at first floor
[10:28:15] <alex_joni> yup
[10:28:23] <alex_joni> quite cheap too
[10:28:24] <mgouget> BTW, what is the name of the software powering the wiki?
[10:28:30] <fenn> usemod
[10:28:37] <alex_joni> perl script
[10:29:30] <fenn> if you are considering setting up a wiki somewhere, i recommend dokuwiki
[10:29:51] <fenn> but there are many good wiki engines (usemod is not one of them)
[10:29:55] <mgouget> No, I am learning its syntax.
[11:14:55] <tomp2> SWPadnos: maybe this helps to understand the 'driving' instructions' http://imagebin.org/10477.
[11:15:05] <tomp2> The tool was told to stay right of the path, and the circles just become 'poles' that the tool swings around.
[11:15:06] <tomp2> The lines just become highway centerlines that we drive left or right of.
[11:17:00] <fenn> what line says 'stay right of the path'?
[11:17:12] <tomp2> all cutter comp and path tolerancing is already in the path.
[11:17:25] <tomp2> tlrgt
[11:17:48] <fenn> oh
[11:18:05] <fenn> good thing they used those 5 character words or we'd be screwed
[11:18:47] <alex_joni> :))
[11:18:52] <tomp2> the post can put out G2,G3 and G43 etc but i wanted straight lines.
[11:22:47] <fenn> tom do you think it would be worthwhile to try and make a point and click interface for APT?
[11:23:11] <fenn> along the lines of qcad
[11:23:35] <fenn> but it would generate apt code in a window alongside as you clicked
[11:27:15] <tomp2> try http://members.localnet.com/~blanding/cadvas/, notice the contstruction element on tool bar, all python, all very apt-like already
[11:27:32] <fenn> yes i've been playing with that
[11:27:42] <fenn> its much better than pythoncad
[11:27:54] <fenn> still pretty buggy though, and interface needs work
[11:28:03] <tomp2> the clicky mousey stuff is just the work around for 'past', 'tanto' etc
[11:28:56] <fenn> i'm imagining something where it draws the path in a different color based on where the mouse is, trying to guess what (simple) command you might want
[11:29:08] <fenn> then when you click, it solidifies
[11:29:31] <fenn> like the way qcad does offsets
[11:30:09] <tomp2> hmm, predictive.. dunno, i was thinking an interim click on 'past' 'tanto', or right click modifiers ( fenn touting qcad!!! come on who is this ? )
[11:30:48] <fenn> hmm, it seems you have to tell qcad 'line' or 'circle'
[11:31:20] <fenn> qcad's interface is not bad actually
[11:31:36] <fenn> but apt can work in 3 dimensions
[11:31:59] <tomp2> as we fall into the huge tablet overlays of early ACad, trying to make descriptive geometry simpler by being more complex ( or more terse, like APT :)
[11:32:59] <fenn> i'm not sure what you mean - multiple button sequences?
[11:34:19] <tomp2> yes likely mux btns, each modifiers has to be specified, and the number of modifiers is quite laid out in the math describing the element ( the list of a,b,c's in any geo equation has to be spec'd )
[11:34:47] <tomp2> or more like multiple menu selections
[11:34:53] <fenn> hmmm
[11:35:21] <fenn> could you give me an example? (i havent really studied apt)
[11:36:55] <tomp2> describe a line: 1) offer severl solutions, ( 2 points, point&angle, y=mx+b...) 2) list solution unfulfilled 3) wait for each spec to be fullfilled (4) goto3 till you puke
[11:37:26] <fenn> oh i just meant for the 'driving instructions'
[11:37:53] <fenn> a lot of the lines in your example are tangent to a circle, that seeme easy enough to do with a gui
[11:39:36] <tomp2> hm, a gui way to do driving instructions ( in US or Australia :)? well what you ask for is not done yet, so I'm a long way from describing it ;) but i imagine it'd be like automobile driving instructions ( witha bit-o airplane )
[11:42:06] <tomp2> you dive onto a plane, follow visibile landmarks, staying inside or outside of walls, you change directions at checkpoints. APT has 3 planes for each move, the one you're cutting on, the one limiting the motion, the one signifying the end of the motion. ususally these are not foremost in the users mind, but always exist.
[11:42:40] <tomp2> s/the one limiting the motion/the one guiding the motion
[11:43:24] <fenn> so click on plane 1, then click on plane 2, then click on plane 3
[11:43:39] <fenn> hah
[11:43:53] <fenn> of course you'd have to clip them somewhat so you could see what you're doing
[11:44:21] <fenn> is there a way to _not_ end the motion? so i can see where it goes without specifying an endpoint?
[11:44:31] <tomp2> i'll try to find some visual of the 3 planes.
[11:44:42] <fenn> i get the general idea
[11:44:45] <tomp2> no, the cad is infinit, the driving is finit
[11:44:54] <tomp2> s/e/e/e/e/e/
[11:45:17] <tomp2> gotta drive me to work... gofwd drvway... :)
[11:58:16] <anonimasu> hm
[12:01:24] <alex_joni> http://blogcritics.org/archives/2006/01/13/213613.php
[12:12:31] <fenn> WTF is a "registry" anyway?
[12:26:10] <mgouget> Ok, the wiki page is here: http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Redhat8Install
[12:33:58] <skunkworks_> logger_emc: bookmark
[12:33:58] <skunkworks_> Just this once .. here's the log: http://www.linuxcnc.org/irc/irc.freenode.net:6667/emc/2007-09-18.txt
[12:35:09] <fenn> * fenn pats his trusty apt-get
[12:35:28] <fenn> thank debian i dont have to do that crap anymore
[12:47:14] <jlmjvm> alex_joni: if you ever have any more ideas on the adaptive feed let me know
[12:51:30] <skunkworks_> * skunkworks_ wonders if the FO bar moves while adaptive feedrate is active..
[12:52:25] <jlmjvm> that would be cool
[12:53:52] <fenn> uh, no it would not
[12:54:11] <jlmjvm> couldnt we use remote desktop when we test so you could watch the hal meter?
[12:54:21] <fenn> yes
[12:54:36] <jlmjvm> why not fenn?
[12:55:12] <fenn> because it's making an input act like an output
[12:55:22] <jlmjvm> ahh
[12:55:44] <jlmjvm> that makes sense
[12:55:47] <fenn> and it confuses the meaning of 'feed override' which doesnt really mean the same thing as 'adaptive feed'
[12:56:11] <fenn> feed override is a manual intervention, whereas adaptive feed is part of the program
[12:56:36] <jlmjvm> have a display for adaptive feed,maybe a pyvcp readout
[12:57:30] <fenn> also, adaptive feed " is multiplicative with the NML-level feed override value and motion.feed-hold."
[12:57:38] <fenn> meaning you can do both at the same time
[12:58:07] <fenn> yes it would be very easy to make a pyvcp display for adaptive feed
[12:58:13] <jlmjvm> cool
[12:59:19] <jlmjvm> my usc and gecko servo interface is supposed to be here today
[12:59:29] <fenn> what are you doing with those?
[12:59:51] <jlmjvm> for the retrofit im doing on an old hurco
[13:01:54] <jlmjvm> it should be a good setup
[13:02:33] <jlmjvm> some assembly required,lol
[13:04:45] <fenn> could be worse
[13:05:39] <jlmjvm> always,this is my 5th build,first for emc
[13:06:03] <fenn> how do you get into that business anyway?
[13:08:25] <jlmjvm> i did my mill,then somebody came to see it,did theirs,phone rang couple months later for another,and another,then this 1
[13:08:44] <jlmjvm> just started doing them,never advertised
[13:09:09] <jlmjvm> have turned down several
[13:09:31] <jlmjvm> didnt think they would pay,no need to do it for free
[13:09:39] <cradek> I'm curious why you picked usc+gecko instead of ppmc+pwm servo amps
[13:11:54] <jlmjvm> geckos were already ordered,was gonna be yet another mach setup,then i got emc going and felt it would be a much safer setup for a trade school machine
[13:12:12] <jlmjvm> open vs closed loop
[13:12:28] <cradek> I see
[13:12:48] <cradek> too bad you couldn't do a full analog servo setup on it
[13:13:24] <jlmjvm> i just feel emc is superior to mach
[13:14:00] <jlmjvm> woulda been nice,but i think this will be a good setup
[13:14:05] <cradek> yeah
[13:14:10] <cradek> maybe the next one
[13:14:51] <jlmjvm> may be doing a full analog very soon,have a guy that wants me to do a big boring mill with a 4th axis
[13:15:04] <cradek> fun
[13:15:22] <jlmjvm> should be a good 1
[13:16:25] <jlmjvm> was thinking bout the 5120 and 7133 for that job
[13:18:12] <jlmjvm> gotta run
[14:03:44] <CIA-8> 03fenn 07TRUNK * 10emc2/docs/src/index.tmpl: add html anchors
[14:13:45] <fenn> i guess i should merge that back into the various branches to make the website work...
[14:13:48] <fenn> bleh
[14:16:16] <jepler> fenn: I'm not sure what benefit adding those anchors has .. can you tell me what I'm missing?
[14:16:53] <jepler> at this point I don't think there's much benefit to changing the 2.1 branch documentation, and that's the only branch worth mentioning
[14:17:19] <jepler> by the way I manually pushed an update of the docs/devel/ on to the linuxcnc website, not sure if that had happened yet or not
[14:18:36] <fenn> i'm trying to add links to both pdf and html on the joomla "documentation" page
[14:18:53] <fenn> so i can say, for example - hal documentation (pdf) (html)
[14:19:05] <fenn> and then you click on html and it would go to the HAL section of docs/html/index.html
[14:19:48] <jepler> ah
[14:19:56] <fenn> maybe i got carried away with the anchors but a few extra cant hurt
[14:21:17] <jepler> it makes sense now
[14:26:47] <fenn> looks like the hal manual is duplicated in the integrator's manual
[14:28:08] <jepler> since hal is (in theory at any rate) useful as a basis for other realtime software, there's a separate hal-only manual built
[14:28:19] <jepler> it's not useful for most users of emc
[14:32:41] <Guest248> Guest248 is now known as skunkworks__
[14:45:45] <fenn> This documentation refers to emc2 pre-2.1.8 <- where does this version number come from?
[14:46:15] <cradek> that's the 'version' of the branch after the 2.1.7 release
[14:46:34] <cradek> (if you compile it, that's what it says it is until the next release)
[14:47:07] <fenn> if i check out RELEASE_2_1_7 and commit something, will it modify the linuxcnc.org/docs/html pages?
[14:47:22] <cradek> I think you cannot check out a version tag and then commit
[14:47:28] <cradek> you have to commit on a branch tag
[14:48:06] <jepler> the branch tag you want is v2_1_branch
[14:48:58] <jepler> we could debate whether the website "2.1" docs should be built from the tip of v2_1_branch or the last release tag .. usually doc improvements will apply to the last released version as well
[14:49:20] <jepler> so I chose to use the tip of v2_1_branch
[15:36:15] <tomp> while looking for something else... http://www.irbcam.com/IRBCAMTraining.pdf a 6dof robot on a linear tack used as a mill, cutting wkpc between 2 centers ( another rotary axis )
[15:37:20] <fenn> sounds like a bad idea
[15:38:15] <fenn> i bet it cuts some styrofoam
[15:42:17] <tomp> argh this is NOT the pdf, it is about the pdf 'A VRML-Java-based approach to teaching APT programming' http://journals.mup.man.ac.uk/cgi-bin/pdfdisp//MUPpdf/IJMEE/V29I4/290345.pdf
[15:44:01] <fenn> double yuck
[15:44:40] <fenn> triple yuck - you need a subscription to view the pdf
[15:45:09] <tomp> i'll look at the uni in hk
[16:07:55] <tomp> fenn: got the description of the control surfaces.. check page 37 of this zip'd pdf http://www.cncfocus.com/download/paguide.zip
[16:25:25] <fenn> "control surface" makes me think of liquid haptics or something
[16:29:00] <Adam_> Morning
[16:29:18] <fenn> afternoon
[16:29:42] <Adam_> Evening
[16:44:43] <fenn> tomp: only planes may be used as the part surface? does that apply to apt360?
[17:30:04] <tomp> fenn: yes, but a plane can be a curved surface or the xy plane or a plane 30 to X yet contains the y axis .... a plane is not only a cartesian coord-pair
[17:30:33] <tomp> think surface
[17:30:46] <tomp> not plane
[17:32:01] <tomp> the drive plane and check plane are limited to the side profile of the cutter, and wether its done 2d 2.5d 3d or 'multi axis' ( good enuf for nutating heads )
[17:32:59] <tomp> i >>think<< the drive & check are limited to... apt is like emc, continually learning & shedding old perceptions
[17:45:44] <alex_joni> http://youtube.com/watch?v=OoBVdcadDxk
[17:57:14] <skinnypuppy1334> Skinny puppy not hungry any more
[18:01:06] <alex_joni> that's a friend of mine singing :P
[18:20:33] <skunkworks__> alex_joni: what is the history?
[18:23:24] <alex_joni> skunkworks__: history?
[18:24:50] <skunkworks__> of your friend. Is she a pop singer over there? or was a one time thing?
[18:25:05] <alex_joni> actually she's in germany
[18:25:16] <alex_joni> she started singing about 10 years ago iirc
[18:25:24] <skunkworks__> I suppose I could look her up :)
[18:25:25] <alex_joni> we're good friends with her parents
[18:25:29] <skunkworks__> cool
[18:25:41] <alex_joni> they come pretty often to .ro, where they have a vacation house
[18:29:54] <CIA-8> 03cradek 07TRUNK * 10emc2/configs/halui_halvcp/ (halui.vcp halvcp.hal): fix up the halui mdi stuff, and provide an example that can exercise it
[18:29:54] <CIA-8> 03cradek 07TRUNK * 10emc2/src/emc/usr_intf/halui.cc: fix up the halui mdi stuff, and provide an example that can exercise it
[18:34:18] <skunkworks__> skunkworks__ is now known as skunkworks_
[19:25:23] <skyfox00> what causes a module to fail to load with an error about unknown symbols?
[19:29:10] <alex_joni> wrong compiler
[19:29:23] <alex_joni> wrong headers used for compiling
[19:29:43] <jepler> all the same things that can cause unknown symbols at the link time or runtime of userspace programs: the module requires a symbol which is not provided by the kernel or by another already-loaded module
[19:29:47] <alex_joni> or a dependency missing
[19:32:00] <jepler> source code bug (e.g., pritnf instead of printf)
[19:32:20] <alex_joni> in the module? :P
[19:32:49] <skyfox00> when I compile emc it gives a bunch of warnings about several symbols being exported twice and then later gives warnings about missing/unknown symbols(cant remember which) and then the hal_parport.ko module wont load...l
[19:33:08] <alex_joni> skyfox00: it would be helpfull if you knew ..
[19:33:22] <alex_joni> I mean, if you could copy/paste the error somewhere
[19:33:37] <alex_joni> like pastebin.ca
[19:33:56] <skyfox00> ok, I'll go put some dmesg/errors/etc on my thumb drive... brb
[19:34:36] <jepler> some kernel/rtai combinations give compile time warnings about undefined or multiply-defined symbols that are simply wrong. It's the dmesg at insert-time that matters.
[19:35:51] <jepler> for instance, every kinematics module defines functions with the same name. The linux "kbuild" system thinks this probably indicates an error, but really it's exactly what we intended
[19:36:53] <jepler> also on these systems it reports that all functions provided by rtai are undefined (since they're not defined in the emc source tree nor the kernel source tree) but in the context of emc we know they are defined by modules that come from a third source tree (rtai)
[19:41:19] <CIA-8> 03alex_joni 07TRUNK * 10emc2/src/emc/task/iotaskintf.cc:
[19:41:19] <CIA-8> fix lube problem (not always getting switched off in estop or estop reset) by
[19:41:19] <CIA-8> changing the method of sending tool_abort. As spindle is in motion nowadays,
[19:41:19] <CIA-8> it's not as critical to get the tool_abort to the iocontroller (it can wait for
[19:41:19] <CIA-8> previous commands to finish: sendCommand instead of forceCommand).
[19:44:06] <jepler> (the "duplicated symbol" check seems to be in kernels 2.6.17 and above: http://lwn.net/Articles/176439/; the unknown symbol check is in kernels at least as old as 2.6.12)
[19:47:23] <alex_joni> jepler: maybe we can use '--warn-dup-exports'
[19:48:01] <alex_joni> or something like that :)
[19:48:08] <jepler> alex_joni: beats me, but PGA
[19:48:45] <alex_joni> pga?
[19:49:23] <alex_joni> Peak Ground Acceleration
[19:49:36] <alex_joni> Pure Grain Alcohol
[19:49:43] <alex_joni> Phosphoglyceraldehyde
[19:49:48] <jepler> patches gratefully accepted
[19:50:00] <alex_joni> Polyglycolic Acid sounds better :P
[19:50:08] <alex_joni> or "please go ahead" :P
[19:50:36] <skyfox00> hmmm, pastebin.com is down...
[19:50:59] <alex_joni> pastebin.ca
[19:53:32] <skyfox00> http://pastebin.ca/702316
[19:55:18] <alex_joni> fixunsdfdi ?
[19:55:21] <cradek> hal_parport: Unknown symbol __fixunsdfdi
[19:55:38] <cradek> looks like someone sneezed on the keyboard
[19:55:54] <jepler> skyfox00: did you modify hal_parport.c from the distributed version?
[19:55:55] <skyfox00> wasnt me
[19:55:55] <alex_joni> nope
[19:56:12] <alex_joni> it seems gcc, glibc, libgcc related
[19:56:17] <skyfox00> no, it is 'as is' from cvs.
[19:56:27] <alex_joni> skyfox00: can you tell us what gcc version?
[19:56:33] <alex_joni> kernel version?
[19:57:05] <skyfox00> gcc version 3.4.6
[19:57:11] <jepler> google implies that __fixunsdfdi may be the function that is used internally by gcc to convert from 'double' to 'unsigned long long'
[19:57:27] <skyfox00> kernel 2.6.17 patched with rtai-3.5
[19:57:40] <jepler> that seems unlikely since there is no use of floating-point math in hal_parport
[19:58:02] <jepler> oh actually there is
[19:58:16] <jepler> ns2tsc_factor = (unsigned long long)(1e6 * (1ll<<32) / cpu_khz);
[19:58:39] <skyfox00> is that kosher?!!!
[19:58:41] <alex_joni> Runtime Function: unsigned long __fixunsdfdi (double a)
[19:58:51] <alex_joni> These functions convert a to an unsigned long, rounding toward zero. Negative values all become zero.
[19:59:09] <Adam_> anyone know the command I could you for my mesa 7i37 to send an analogue 10v to change vfd speed? I will use pin 47 (dac-02-enable output)
[20:00:45] <alex_joni> skyfox00: can you paste the snip around the compile of hal_parport?
[20:01:37] <skyfox00> um, what is the command to make just the hal_parport module compile?
[20:01:47] <alex_joni> touch hal_parport.c
[20:01:49] <alex_joni> make
[20:02:06] <skyfox00> takes to long on a 350Mhz...
[20:02:12] <jepler> it appears that gcc 4.0.2 on ubuntu inlines the convesion from double to unsigned long long rather than calling an external function to do it
[20:02:17] <skyfox00> hang on...
[20:03:39] <skyfox00> I have the same version on the fast computer right next to me, so, compilling now...(the 350Mhz is in a different boulding with no network...)
[20:04:28] <alex_joni> jepler: is this only in TRUNK?
[20:05:16] <alex_joni> because breezy uses 3.4 too
[20:05:22] <alex_joni> and I never heard about this before
[20:05:57] <tomp> what brand/model lubers are being used? they must be electromechanical to be hal controlled, and should be significantly cheaper than the ones that have thier own timers.
[20:05:57] <jepler> alex_joni: yes it's because of the "reset" feature of hal_parport
[20:06:32] <alex_joni> still.. TRUNK gets compiled on breezy (on the farm) without issues
[20:06:40] <jepler> alex_joni: this doesn't show up until insmod time
[20:06:52] <alex_joni> oh, maybe jmk didn't run it in a while ;)
[20:07:11] <jepler> I have a 5.10 machine here, let me see what actually happens
[20:07:38] <skyfox00> http://pastebin.ca/702316 on line 66: its the only error concerning hal_porport I can find...
[20:08:44] <jepler> you may wish to consider reverting to hal_parport.c rev 1.29 which doesn't have the line which I think is the problem
[20:08:50] <jepler> "cvs -H up" to see how to do this
[20:09:49] <alex_joni> heh: #ifdef notdef
[20:10:31] <jepler> alex_joni: it looks like ubuntu "breezy" inlines the conversion as well, no call to __fixunsdfdi in 'nm hal_parport.o'
[20:10:42] <alex_joni> http://mail-index.netbsd.org/netbsd-bugs/1998/10/18/0002.html
[20:10:57] <alex_joni> here's the function if someone wants to link it with hal_parport :)
[20:12:01] <alex_joni> it doesn't work with negative numbers
[20:13:09] <skyfox00> hmmm, does this mean I found a bug, or does it mean I have a bad version of gcc/libc etc?
[20:13:52] <alex_joni> probably a combination of both :)
[20:14:06] <alex_joni> you found a bug in gcc :D
[20:15:18] <skyfox00> so is the solution to make an emc2 work-around or just not compile on this version of gcc?
[20:16:14] <cradek> did someone mean to write 1000000 instead of 1e6?
[20:17:18] <jepler> my recollection -- let me see if I can find the IRC log -- is that on ubuntu 6.06 a division of "long long / long long" resulted in an undefined reference at insmod time, but "double / long long" didn't
[20:17:28] <jepler> and that's the formulation that I checked in
[20:19:37] <jepler> <jepler> [25290.862926] hal_parport: Unknown symbol __divdi3
[20:19:41] <jepler> http://linuxcnc.org/irc/irc.freenode.net:6667/emcdevel/2007-08-26.txt
[20:20:04] <alex_joni> * alex_joni is asking in #gcc
[20:20:12] <jepler> they'll say something about linking libgcc
[20:21:53] <alex_joni> 23:11 < daney> Right, floating point is not allowed in the kernel. Perhaps it
[20:21:55] <alex_joni> is best to change it back and address the original problme.
[20:22:11] <skyfox00> I didnt know you could link libgcc to a kernel module(I may be mistaken/dont know what I'm talking about...)
[20:22:18] <jepler> http://ussg.iu.edu/hypermail/linux/kernel/9902.2/0589.html
[20:22:25] <skunkworks_> do we all need to go over to #gcc and rumble?
[20:22:33] <jepler> skunkworks_: yeah we can take 'em in a fight
[20:22:33] <skyfox00> lol!
[20:22:35] <jepler> (er, no)
[20:23:14] <skyfox00> so there needs to be a soft-float set of functions writen?
[20:23:40] <alex_joni> 23:13 < MichaelMeissner> Well, you typically would have to provide __divdi3 if
[20:23:41] <alex_joni> you are going to do long long arithmetic. I think you
[20:23:41] <alex_joni> may need to step back and figure out if there are any
[20:23:41] <alex_joni> other modules that do something similar, and copy what
[20:23:41] <alex_joni> they are doing.
[20:24:03] <skyfox00> doing it in assembly would make it fast ;)
[20:24:29] <jepler> skyfox00: the answer is that you should be doing whatever you find expedient. Reverting to rev1.29 is one good bet if you don't need the feature in rev1.30 (doubled step rate)
[20:25:18] <skyfox00> oh, I was just trying to use the parport/stepper config to test the parport... I'm just hacking at this point trying to decide if I can make it work...
[20:25:40] <jepler> then revert to hal_parport.c rev 1.29
[20:25:55] <skyfox00> or wait for it to get fixed ;)
[20:25:56] <alex_joni> they suggest wrapping divdi3 into div64_32
[20:26:18] <skyfox00> I currently dont even have a stepper machine...
[20:26:34] <alex_joni> jepler: there seems to be a do_div() function
[20:26:41] <alex_joni> http://lkml.org/lkml/2007/2/27/241
[20:28:33] <jepler> alex_joni: yes but if I understand that very terse language correctly, it does a division of a 64-bit quantity by a 32-bit quantity .. not sure whether it gives 32- or 64-bit result
[20:28:42] <jepler> in this case I think both the numerator and denominator can be bigger than 32 bits
[20:29:06] <jepler> rtai seems to solve this by offering a family of arithmetic functions like rtai_ulldiv
[20:29:31] <skyfox00> can those be used from within the emc modules?
[20:29:55] <alex_joni> jepler: there is talk about a div64_64
[20:30:09] <jepler> skyfox00: are you talking about what would be expedient for you, or what would be accepted into emc?
[20:30:22] <skyfox00> what would be the best for emc...
[20:30:26] <alex_joni> but that means we would need to check yet another thing in the kernel sources, etc
[20:30:57] <jepler> skyfox00: calling rtai_ulldiv from hal_parport.c is not acceptable because emc can use several different realtime systems at least in principle
[20:31:17] <jepler> (there are 3 implementations present: rtai, rtlinux, and sim)
[20:31:22] <fenn> alex_joni: that music video is very well made
[20:31:25] <jepler> (and two of them are in wide use)
[20:31:39] <alex_joni> fenn: it's a nice tune :)
[20:32:03] <jepler> on the other hand, extending rtapi to offer functions like rtai_ulldiv and then using them would be acceptable
[20:32:08] <alex_joni> fenn: and you get a glimpse at the romanian languange in the beginning
[20:34:01] <alex_joni> jepler: http://www.df.lth.se/~john_e/gems/gem002a.html this might help for rtlinux where it's missing :)
[20:34:29] <skyfox00> what about writing a custom set of math functions in assembly?(with c wrapers/headers)
[20:36:09] <skyfox00> Is my input being helpfull at this point or am I just annoying people?
[20:36:50] <JymmmEMC> Professional Golfers Association
[20:37:30] <fenn> wow is there really no floating point in the kernel
[20:37:32] <jepler> I'd prefer to see the functions written in "C" since emc's in use on at least three instruction set families: x86, x86-64, and ppc
[20:37:32] <alex_joni> skyfox00: that would work too.
[20:37:49] <JymmmEMC> I got a JS lib for big math if you get lazy =)
[20:38:09] <fenn> i hear brainfuck is highly portable
[20:38:24] <alex_joni> jepler: liek this? http://fxr.watson.org/fxr/source/libkern/divdi3.c?v=RELENG53
[20:38:33] <JymmmEMC> fenn: prove it
[20:39:37] <skyfox00> does the decimal have to float, or can in be fixed?(64bits-decimal-64bits)
[20:40:06] <alex_joni> it can be fixed in the example above I think
[20:40:07] <JymmmEMC> most big math uses strings not int or floats
[20:40:12] <alex_joni> it was long long / long long
[20:40:53] <fenn> skyfox00: you really ought to at least put a network card in the emc machine
[20:40:53] <jepler> 14:56:38 <jepler> ns2tsc_factor = (unsigned long long)(1e6 * (1ll<<32) / cpu_khz);
[20:41:06] <alex_joni> is that 1LL ?
[20:41:25] <jepler> the other option is to rewrite this in a way that uses neither long long division nor casts from double to long
[20:41:31] <jepler> alex_joni: yes, 1 long long
[20:41:35] <skyfox00> the 350Mhz has a net work card, but there is no network cable and no easy way to run one...
[20:41:45] <alex_joni> buy some wireless cable
[20:41:59] <jepler> since it's quite possibly the only "offender"
[20:42:02] <skunkworks_> osmosis
[20:42:15] <JymmmEMC> pigeon
[20:42:18] <skyfox00> the wifi ap is in a metal boulding and the only other wireless bridge is in a dead state right now...
[20:42:18] <alex_joni> jones
[20:42:28] <fenn> jones?
[20:42:34] <alex_joni> osmosis jones
[20:42:43] <JymmmEMC> pigeon protocol
[20:42:53] <jepler> (ns * ns2tsc_factor) >> 32 is the number of tsc counts in ns
[20:43:04] <fenn> anthropomorphic white blood cell..
[20:43:56] <alex_joni> tsc counts == cpu_khz?
[20:43:56] <jepler> (it's effectively a 32.32 fixed-point expression of 1/cpu_hz)
[20:44:09] <alex_joni> err 1/
[20:45:04] <skyfox00> so it doesnt need to be 128 bit total?
[20:46:31] <skunkworks_> JymmmEMC: are you back on your machine yet?
[20:46:50] <JymmmEMC> skunkworks slowly
[20:47:18] <skunkworks_> cool
[20:47:46] <skyfox00> fenn: I can also compile emc2 on the 1.8Ghz that does is connected to the net...(but I cant run it... no realtime kernel)
[20:49:09] <jepler> 64 bits suffices. since cpu_khz >= 1, the largest value for ns2tsc_factor is 1000000 * 2^32 which is less than 2^64
[20:49:28] <jepler> however, 32 bits doesn't, because for cpu_khz < 1000000, ns2tsc_factor is bigger than 2^32
[20:49:48] <skyfox00> my grammer or spelling can broke some places
[20:49:48] <jepler> but in either case the intermediate value 100000 * 2^32 has to be stored in something wider than 32 bits
[20:50:30] <alex_joni> jepler: wouldn't it be possible to do it "manually" ?
[20:50:48] <jepler> this is tmi but I do it manually all the time
[20:50:55] <alex_joni> store 32 bits, then the upper bits, and shifting them together at the end
[20:50:57] <jepler> now what was the question again?
[20:51:26] <cradek> http://icanhascheezburger.files.wordpress.com/2007/09/i-can-fix-thiz-sorta.jpg
[20:51:34] <skyfox00> if doubles can be done in a pic-chip then they can be done in C using ints ;)
[20:51:34] <alex_joni> err.. right.. what was the issue again? I mean, what do you want to calc?
[20:52:06] <alex_joni> cradek: that's how they discovered bufferoverflows :P
[20:52:50] <jepler> and we don't actually know whether on skyfox00's machine the next problem will be the 32x64 multiplication ((x) * ns2tsc_factor) will call an undefined function
[20:53:27] <fenn> * fenn suggests using 'comp'
[20:53:28] <jepler> alex_joni: backing waaaay up .. in hal_parport there is a loop which waits until the requested number of ns has elapsed since the outb() in -write so that the outb() in -reset can be executed
[20:53:53] <alex_joni> can't you convert to clocks?
[20:54:12] <alex_joni> and having a value for number of clocks to wait ..
[20:54:22] <alex_joni> (or wouldn't that help?)
[20:54:26] <jepler> alex_joni: rtapi_get_time() is reportedly very bad to run in the fast thread so you can't loop on rtapi_get_time() < deadline
[20:54:41] <skyfox00> I have 3 computers at my disposal all with the exact same OS, 2 of which are connected to the net and are fast, and 1 of which I actualy own and is sitting on my lap...
[20:54:56] <jepler> so you have to find the number of clocks to wait based on the number of ns that the user specifies
[20:55:09] <jepler> you have to do it without floating-point math
[20:55:15] <jepler> (fast thread function)
[20:55:33] <alex_joni> jepler: err.. right, that's what I was trying to say
[20:55:44] <jepler> so I elected to do it with 32.32 fixed point arithmetic.
[20:55:44] <jepler> static unsigned long long ns2tsc_factor;
[20:55:44] <jepler> #define ns2tsc(x) (((x) * ns2tsc_factor) >> 32)
[20:55:49] <jepler> ^^^ that's what this code does
[20:56:23] <jepler> then you loop on rtapi_get_clocks() < deadline
[20:56:35] <jepler> deadline = write_time + ns2tsc(reset_time)
[20:56:43] <alex_joni> how does the ns get set?
[20:56:52] <jepler> reset_time is a HAL parameter
[20:57:31] <jepler> but on skyfox00's machine the calculation of ns2tsc_factor calls a function to convert an intermediate result from double to long long
[20:57:47] <alex_joni> I was thinking user-interface wise
[20:57:54] <Adam_> Could anybody help me out with my VFD and mesa cards please. =)
[20:59:15] <jepler> Adam_: what's your question?
[20:59:18] <Adam_> I am trying to generate a PWM to output to it. here is what I have in my hal
[20:59:27] <Adam_> #VFD Spindle Speed Control Dac-03-enable output P3 Pin45
[20:59:28] <Adam_> loadrt pwmgen output_type=0
[20:59:28] <Adam_> addf pwmgen.update servo-thread
[20:59:28] <Adam_> addf pwmgen.make-pulses base-thread
[20:59:28] <Adam_> net spindle-speed-cmd motion.spindle-speed-out => pwmgen.0.value
[20:59:28] <Adam_> net spindle-on motion.spindle-on => pwmgen.0.enable
[20:59:30] <Adam_> net spindle-pwm pwmgen.0.pwm => m5i20.0.dac-03-value
[20:59:32] <Adam_> setp pwmgen.0.scale 4250 # change to your spindles top speed in rpm
[21:00:08] <jepler> if you're using a 5i20 dac, then you do not want pwmgen
[21:00:09] <SWPadnos> Adam_, are you trying to use an output from a 7i33 card, or a software-generated PWM?
[21:00:15] <jepler> pwmgen is for software generation of pwm and pdm waveforms
[21:00:21] <Adam_> 7i33
[21:00:32] <SWPadnos> ok - listen to jepler then :)
[21:00:33] <jepler> instead, you want to hook spindle-speed-cmd to dac-NN-value
[21:00:55] <jepler> 5i20 should have scale and offset parameters too
[21:01:11] <jepler> and if it has an enable pin you'd probably hook spindle-on to it
[21:01:26] <Adam_> I am using fwd reverese and stop
[21:01:28] <Adam_> no on
[21:01:53] <SWPadnos> you can use an or2 block and or spindle-fwd and spindle-rev together
[21:02:12] <SWPadnos> and run that output to ...dac-03-enable
[21:02:18] <Adam_> spindle-fwd and spindle-rev together yeah that is the other hard circuit that does that
[21:02:41] <jepler> I suspect that motion.spindle-on is internally an OR of motion.spindle-forward and motion.spindle-reverse
[21:02:45] <Adam_> its stopped if both are off or both are on
[21:02:50] <SWPadnos> I think spindle-on may turn on any time the spindle is supposed to be running, so you can just use that as well, these are all internal HAL signals
[21:03:08] <jepler> and the sign of motion.spindle-speed-out specifies the direction
[21:03:32] <SWPadnos> yep. that's probably an easier way to run the VFD
[21:03:48] <SWPadnos> just use the _/- 10V option, and run the single enable wire to it
[21:03:51] <SWPadnos> +/-10
[21:04:15] <Adam_> ok my VFD has rev, fwd, common and 10v inputs
[21:04:19] <SWPadnos> (enable, +/-10 analog speed, and whatever grounds are needed)
[21:04:27] <Adam_> Automationdirect GS1 series
[21:04:36] <SWPadnos> you can probably set it so the analog reference is +/- 10
[21:04:53] <Adam_> its jsut +10
[21:05:16] <Adam_> relies on the FWD, REV terminals for direction
[21:05:34] <jepler> then maybe you need to use an 'abs' block to find the absolute value of spindle-speed-cmd
[21:07:42] <SWPadnos> no wonder why they're so inexpensive :)
[21:08:19] <alex_joni> good thing you can still use it with emc2 without issues :D
[21:08:27] <SWPadnos> yep
[21:08:58] <Adam_> so what are the step I need to take to deal with this? I havent played with "blocks" I am just editing hal files
[21:09:27] <SWPadnos> when I said "block", I meant "component"
[21:09:30] <SWPadnos> like pwmgen
[21:09:52] <alex_joni> loadrt abs count=1
[21:09:55] <SWPadnos> so you need two components, or2 (2-input logical OR) and abs
[21:10:52] <Adam_> what does the count=1 mean?
[21:10:54] <SWPadnos> you don't need the pwmgen
[21:11:06] <Adam_> I got rid of that pwmgen
[21:11:06] <SWPadnos> that's the number of absolute value blocks you need
[21:11:12] <Adam_> ok
[21:11:24] <Adam_> loadrt or2 ?
[21:11:35] <SWPadnos> so you run wpindle-fwd and spindle-rev into the or inputs, the output of the or goes to dac-03-enable
[21:11:52] <SWPadnos> yep, loadrt or2 count=1 (the count may be optional - it probably defaults to 1)
[21:11:59] <alex_joni> you can use spindle-on I think
[21:12:05] <SWPadnos> true
[21:12:06] <alex_joni> instead of the or2 stuff
[21:12:08] <Adam_> #VFD Spindle Speed Control Dac-03-enable output P3 Pin45
[21:12:09] <Adam_> loadrt abs count=1
[21:12:09] <Adam_> loadrt or2 count=1
[21:12:15] <Adam_> thats what I have now in a hal
[21:12:32] <Adam_> I suck at this right now
[21:12:42] <SWPadnos> ok, you can kill off the or2 - even if the VFD needs fwd/rev, you can still use the spindle-on signal internally
[21:12:49] <SWPadnos> have you run through the HAL tutorial?
[21:12:49] <alex_joni> net spindle-speed motion.spindle-speed-out abs.0.in
[21:13:19] <alex_joni> net spindle-speed-abs abs.0.out m5i20.0.dac-03-value
[21:13:34] <alex_joni> net spindle-on motion.spindle-on m5i20.0.dac-03-enable
[21:13:56] <alex_joni> and you need to make sure the abs gets interpreted properly
[21:14:04] <alex_joni> addf abs.0 servo-thread
[21:14:27] <Adam_> you know I think you are just magic
[21:14:35] <Adam_> where do you get that stuff
[21:14:44] <SWPadnos> heh - no, we read (or wrote) the HAL tutorial ;)
[21:15:45] <Adam_> ok so how does Hal know that at 10v my spindle max is 4250 rpm?
[21:15:54] <alex_joni> you set the gain
[21:16:15] <alex_joni> the spindle-speed-out will be in rpm
[21:16:25] <alex_joni> the output from the dac should be in 0..10V
[21:16:42] <alex_joni> therefor you need a gain of 10/4250
[21:17:17] <alex_joni> setp m5i20.0.dac-03-gain 0.00235
[21:17:21] <SWPadnos> and if you want to limit it, there should be max and min parameters for the DAC as well (I think)
[21:17:46] <Adam_> Ok so how does this look
[21:17:47] <Adam_> _
[21:17:49] <Adam_> #VFD Spindle Speed Control Dac-03-enable output P3 Pin45
[21:17:48] <Adam_> loadrt abs count=1
[21:17:48] <Adam_> loadrt or2 count=1
[21:17:48] <Adam_> net spindle-speed motion.spindle-speed-out abs.0.in
[21:17:48] <Adam_> net spindle-speed-abs abs.0.out m5i20.0.dac-03-value
[21:17:51] <Adam_> net spindle-on motion.spindle-on m5i20.0.dac-03-enable
[21:17:53] <Adam_> addf abs.0 servo-thread
[21:17:54] <Adam_> setp m5i20.0.dac-03-gain 0.00235
[21:17:59] <Adam_> _
[21:18:24] <alex_joni> Adam_: most of it is written from memory (without looking up the actual names)
[21:18:32] <alex_joni> so it might not work the first time
[21:18:39] <Adam_> Am I right in saying that it doesnt matter what hal file that is located currently it is in m5i20_io.hal
[21:18:46] <alex_joni> this was more like a hint what you need to do, how you need to do it, etc
[21:18:54] <Adam_> ok yeah
[21:19:04] <alex_joni> all that matters is that it's after the loadrt m5i20
[21:28:01] <dmess> hi all
[21:56:18] <alex_joni> SWPadnos: http://photo.net/general-comments/attachment/13480493/95c.jpg
[21:56:55] <SWPadnos> yep
[21:57:09] <SWPadnos> big entry glass :)
[21:57:34] <alex_joni> though not as big as the 1:0.7 f50mm
[21:57:54] <SWPadnos> nope
[21:58:26] <alex_joni> heh, or the zeiss f1700mm :P
[21:59:22] <SWPadnos> or the Nikon 1200/F2.8
[22:00:10] <alex_joni> didn't see that one
[22:00:33] <SWPadnos> they custom made a couple for Sprots Illustrated around the 1996 Olympics
[22:00:40] <SWPadnos> Sports. that is
[22:53:44] <CIA-8> 03jepler 07TRUNK * 10emc2/src/hal/drivers/hal_parport.c: fix ns2tsc_factor: it was competely wrong, and the use of a cast from double to long long caused a problem on one user's system (gcc 3.4)