#emc | Logs for 2005-12-12

[00:03:38] <CIA-12> 03alex_joni * 10emc2/configs/ (m5i20_io.hal m5i20_motion.hal): moved to configs/m5i20
[00:04:25] <CIA-12> 03alex_joni * 10emc2/configs/ (motenc_io.hal motenc_motion.hal): moved to configs/motenc
[00:06:41] <CIA-12> 03alex_joni * 10emc2/configs/motenc/ (motenc_io.hal motenc_motion.hal): moved to configs/motenc
[00:08:15] <CIA-12> 03alex_joni * 10emc2/configs/m5i20/ (m5i20_io.hal m5i20_motion.hal): moved to configs/m5i20
[00:08:56] <robin_sz> meep?
[00:09:03] <cradek> hello
[00:09:15] <Jacky^> hi
[00:09:22] <robin_sz> are we well?
[00:09:54] <cradek> well alex and I are both breaking emc2 in our own ways
[00:10:06] <cradek> (except I haven't checked any of mine in!)
[00:10:09] <cradek> other than that, yes
[00:10:36] <robin_sz> heh
[00:10:57] <alex_joni> cradek: I'm finished in a bit
[00:11:06] <robin_sz> does each breakage involve throwing away cruft?
[00:11:12] <cradek> alex_joni: I'm just poking fun
[00:11:20] <CIA-12> 03jmkasunich * 10emc2/src/hal/drivers/hal_ppmc.c: ppmc driver: fixed incorrect PWM duty cycle calculations, fixed shutdown code, added initial values for parameters
[00:11:23] <cradek> robin_sz: mine's just a bugfix, so no
[00:11:40] <robin_sz> coo .. and .. there goes John too
[00:11:49] <jmk_hiding> and I'm about to add some cruft, I think
[00:11:50] <alex_joni> robin_sz: pretty busy people around ;)
[00:12:02] <jmk_hiding> a peculiar startup mode for JonEs PWM amps
[00:12:15] <robin_sz> busy? yes. pretty? ... im saying NOTHING!
[00:12:31] <cradek> ha
[00:12:38] <cradek> yeah, that's probably a stretch for any of us
[00:14:58] <CIA-12> 03alex_joni * 10emc2/configs/stepper/ (5 files): moved to configs/stepper
[00:16:45] <CIA-12> 03alex_joni * 10emc2/configs/ (5 files): moved to configs/stepper
[00:16:52] <alex_joni> cradek: can you lend a hand on the wizard?
[00:17:14] <jmk_hiding> a GUI hand?
[00:17:19] <alex_joni> that's an understatement ;)
[00:17:28] <alex_joni> a wand
[00:18:28] <jmk_hiding> python might be a good language for that
[00:18:31] <cradek> umm
[00:18:44] <alex_joni> not GUI.. the simple one
[00:18:45] <cradek> but it's such an uninteresting project
[00:18:47] <jmk_hiding> were you following the discussion on emc-devel
[00:18:53] <cradek> sort of
[00:18:57] <jmk_hiding> alex: I can do the simple one
[00:19:02] <alex_joni> cradek: make it interesting ;)
[00:19:14] <cradek> alex_joni: seriously, what do you want my help with?
[00:19:15] <alex_joni> can I remove emc.run ?
[00:19:21] <CIA-12> 03alex_joni * 10emc2/scripts/emc.in: another typo, removed fancy autofind for HAL scripts
[00:19:38] <alex_joni> cradek: not much.. forgot that jmk will do it
[00:19:43] <cradek> find out if your new scripts work first!
[00:19:44] <jmk_hiding> cradek: something like this:
[00:19:52] <cradek> there are some [-f typos in the one I got a while ago
[00:20:02] <alex_joni> cradek: I've been using it for a while
[00:20:07] <alex_joni> check above message :)
[00:20:18] <cradek> alex_joni: ok, there's an update
[00:20:21] <jmk_hiding> use does "emc", or "emc foo", where directory configs/foo doesn't exist
[00:20:49] <jmk_hiding> the run script says "I dunno what to do" and invokes the wiz
[00:21:10] <alex_joni> or maybe configs/foo exists but doesn't hold a foo.ini
[00:21:31] <jmk_hiding> the wiz nicely (and GUIishly if possible) asks the user would you like to create a new configuraion?
[00:21:38] <jmk_hiding> what name do you want to use
[00:21:53] <jmk_hiding> what existing config from <list> do you want to use
[00:21:56] <alex_joni> and present him a list of templates to chose from ;)
[00:22:02] <jmk_hiding> where <list> is the dirs in configs
[00:22:21] <jmk_hiding> each dir in configs would have a description text file, you'd let him read that to help decide
[00:22:27] <alex_joni> I'm up-to-date with the commits
[00:22:43] <robin_sz> woot! .. /me buys himself a new luxury vehicle
[00:22:47] <robin_sz> http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&item=4595616478
[00:22:49] <jmk_hiding> when he decides, you mkdir a new directory in configs with his name, and copy files from the template he chose
[00:22:58] <robin_sz> ^^^^ impressive huh?
[00:23:52] <jmk_hiding> server timeout, impressive indeed
[00:24:26] <robin_sz> well, what you expect, ebay runs on windows
[00:24:51] <alex_joni> can anyone check latest HEAD on emc2?
[00:25:05] <cradek> I can't right now
[00:25:13] <alex_joni> ok..
[00:25:14] <robin_sz> we're gonna be cruisin chicks in that baby this summer for sure ... oh yeah.
[00:25:17] <jmk_hiding> in the middle of ppmc stuff
[00:25:31] <cradek> alex_joni: just get a new checkout in a new directory
[00:25:33] <alex_joni> then don't blame me for breaking it :P
[00:26:22] <jmk_hiding> * jmk_hiding does a cvs up
[00:26:43] <alex_joni> it's not that.. I am positive it's uptodate
[00:26:53] <alex_joni> I might just be using something others are not used to :)
[00:27:04] <jmk_hiding> I did the cvs up to get all your changes
[00:28:03] <jmk_hiding> ./configure and make clean done, make in progress
[00:28:30] <alex_joni> not really necessary.. but better like that
[00:29:28] <CIA-12> 03alex_joni * 10emc2/src/ (configure.in configure): changed the message instructing the user to run scripts/emc not scripts/emc.run
[00:30:22] <jmk_hiding> ok alex, it compiled... what would you like me to test?
[00:30:46] <alex_joni> try running it
[00:30:55] <alex_joni> like you would expect to run it
[00:31:08] <jmk_hiding> heh, I don't actually run emc that often
[00:33:49] <robin_sz> "hey, it compiles ... ship it!"
[00:33:52] <jmk_hiding> ok, running emc with no args got me the sim version
[00:33:59] <alex_joni> yup
[00:34:03] <alex_joni> try emc stepper
[00:34:09] <cradek> we have a sim version?
[00:34:13] <alex_joni> that will fail
[00:34:21] <alex_joni> cradek: sim as in HAL not connected to HW
[00:34:24] <alex_joni> still RT
[00:34:26] <jmk_hiding> simulated machine, still wants RT
[00:34:27] <cradek> ah
[00:34:47] <alex_joni> emc stepper/stepper_in.ini
[00:34:56] <alex_joni> should give you the default stepper
[00:35:00] <jmk_hiding> alex: yes, it failed... not elegantly, but that can be addressed later
[00:35:12] <alex_joni> .ko no such module?
[00:35:17] <jmk_hiding> yeah
[00:35:23] <alex_joni> lol.. sorry ;)
[00:35:53] <jmk_hiding> that is where the wizard should ask you what you really want to run
[00:36:02] <alex_joni> right
[00:36:12] <jmk_hiding> ok, the stepper/stepper_in.ini didn't work
[00:36:18] <alex_joni> ?
[00:36:26] <jmk_hiding> scripts/emc: line 1: cd: stepper/: No such file or directory
[00:36:26] <jmk_hiding> Could not find ini file '/home/John/emcdev/emc2head/stepper_in.ini'
[00:36:37] <alex_joni> that's wrong..
[00:36:48] <jmk_hiding> John@main:~/emcdev/emc2head$ sudo scripts/emc stepper/stepper_in.ini
[00:36:48] <jmk_hiding> scripts/emc: line 1: cd: stepper/: No such file or directory
[00:36:49] <jmk_hiding> Could not find ini file '/home/John/emcdev/emc2head/stepper_in.ini'
[00:36:49] <jmk_hiding> John@main:~/emcdev/emc2head$
[00:37:14] <alex_joni> ahh.. treating it like conf dir
[00:37:20] <alex_joni> emc configs/stepper/stepper.ini
[00:37:22] <alex_joni> :(
[00:37:33] <jmk_hiding> duh, my fault
[00:37:44] <alex_joni> no.. I said it like that
[00:37:49] <jmk_hiding> worked
[00:39:08] <lerman> alex_joni: has been a busy little boy.
[00:39:32] <lerman> fscking up my maibox with a bazillion little commits.
[00:39:56] <alex_joni> most wouldn't have fitted a big commit
[00:40:10] <lerman> You've certainly got more energy than I have. On behalf of everyone, thank you for doing a thankless job.
[00:40:26] <jmk_hiding> yes, thanks!
[00:40:30] <cradek> yay!
[00:40:57] <alex_joni> cradek: broke it for good?
[00:41:09] <cradek> who me??
[00:41:10] <alex_joni> lerman: no need to thank me for
[00:41:18] <alex_joni> we all are doing this..
[00:41:25] <lerman> I started reading some rt code today. I'd like to know for myself how big a job a new TP would be.
[00:41:37] <alex_joni> depending on your skills
[00:41:50] <alex_joni> probably 1-2 months to get it right
[00:41:55] <Jacky^> G nite
[00:42:03] <Jacky^> Jacky^ is now known as Jacky^afk
[00:42:15] <lerman> OK. You are correct. A big had for all of us....*round of applause*
[00:42:17] <cradek> if I were doing that I'd do the API first: canon in, hal out, and write an exact-stop no-blending TP first
[00:42:27] <lerman> had->hand.
[00:42:58] <alex_joni> lerman: lots of stuff happen in canon first
[00:43:03] <alex_joni> so what gets to TP is somehow sane
[00:43:03] <lerman> Yes, cradek. Make it do something. Then make it do the right thing.
[00:43:18] <lerman> I haven't read canon, yet.
[00:43:41] <lerman> But I just sent a RANT on hal_lib to the list.
[00:43:49] <jmk_hiding> uh-oh
[00:43:58] <cradek> it's pretty good; I think just a few messages are passed to TP: velocity, arc, line,
[00:44:24] <cradek> scale
[00:44:28] <cradek> ...?
[00:44:49] <alex_joni> probe foo
[00:44:54] <lerman> Well, you can get a flavor of what canon must do by reading TP.
[00:44:58] <alex_joni> although not right now
[00:45:25] <cradek> I wonder what the bare minimum API is
[00:45:27] <jmk_hiding> lerman: you have some good points, and some that I'd take issue with
[00:45:34] <lerman> Hey -- a probe is on my list of things to (probably) build.
[00:45:48] <jmk_hiding> wanna talk about them now?
[00:45:50] <cradek> if that no-blending TP was in cvs history somewhere, everyone who wants to make a new TP could start with it.
[00:46:02] <lerman> jmk... Isn't that the way we expect it to be. Sure -- talk now.
[00:46:50] <jmk_hiding> the shmalloc up and down... that is to separate RT data (parameter values, pin pointers, signal values) from metadata
[00:47:05] <jmk_hiding> the metadata is never accessed from RT code, only from config and setup code
[00:47:40] <lerman> Yes. I know. But did it really gain anything? Do we have measurements to prove it? (Rhetorical question.)
[00:47:41] <jmk_hiding> putting 1 word of RT data in the middle of a 50-60 byte struct of metadata ensures that every RT access will be to a differnet cache line
[00:48:08] <jmk_hiding> some things I just KNOW are wrong from a RT perspective
[00:48:40] <lerman> I understand the argument. But how much does it really cost. Yes. I know it, too. And the sun does obviously move around the earth.
[00:48:44] <jmk_hiding> I don't give a flying fsck how fast or slow the code that accesses the metadata is, but I know that allowing the RT data to be grouped is better
[00:48:59] <jmk_hiding> maybe only 0.0001% better, but better none-the-less
[00:49:29] <jmk_hiding> and - in the long run, I want to move the metadata out of shmem completely
[00:49:31] <Jymmm> jmk_hiding But is it worth the effort for 0.0001% betterness ?
[00:49:36] <lerman> But if it is so slightly better, there are other costs that might cause the total to go the other way.
[00:49:48] <jmk_hiding> by having different allocators for metadata and RT data, I can do that
[00:50:07] <lerman> And the cost of the different allocators is pretty small.
[00:50:20] <jmk_hiding> right
[00:50:40] <jmk_hiding> later they will be completley different, one will allocate from shmem, one from normal kernel memory
[00:50:44] <jmk_hiding> (kmalloc)
[00:50:50] <alex_joni> before you guys figure out I broke emc2 completely, I'll go to bed :D
[00:50:55] <lerman> But the cost of the pointer in the metadata might be high. (and I do mean might)
[00:51:11] <jmk_hiding> ? nothing in the metadata is accessed from RT code
[00:51:27] <petev> pointers in meta data is good
[00:51:35] <petev> no chance for user to muck RT
[00:52:30] <lerman> Then why is the metadata even in kernel space rather than user space?
[00:52:40] <jmk_hiding> it is in shared memory today
[00:52:57] <jmk_hiding> because user space isn't the only thing that accesses it
[00:53:15] <robin_sz> "there is no problem that cannot be solved by two levels of indirection" :)
[00:53:18] <jmk_hiding> hal_lib.c gets compiled twice, once into a kernel module and once for suer space
[00:53:22] <jmk_hiding> s/suer/user
[00:53:25] <lerman> But didn't you say that the RT stuff doesn't access it.
[00:53:33] <jmk_hiding> RT != kernel
[00:53:35] <lerman> Yes, I had that impression.
[00:53:40] <alex_joni> there's difference between RT and kernel
[00:53:51] <lerman> Why put it in the kernel if it is not RT?
[00:54:01] <jmk_hiding> when you load a HAL module into kernel space, there is code in init_module that runs in kernel space to set up the HAL component
[00:54:05] <robin_sz> suer space?
[00:54:12] <jmk_hiding> it calls things like export_pin, etc
[00:54:22] <petev> lerman, HAL module is kernel at init and RT at run
[00:54:28] <jmk_hiding> that is in kernel space, but not realtime, just doing init stiff
[00:54:31] <jmk_hiding> stuff
[00:54:39] <lerman> Ah. Yes.
[00:54:45] <jmk_hiding> then later, the RT code is executed as part of a RT HAL thread
[00:54:55] <lerman> This would be a lot easier if we had a RT operating system.
[00:54:55] <jmk_hiding> the RT code is optimised, the rest isn't
[00:55:32] <lerman> There was an attempt to optimise the RT code, but not the rest :-)
[00:55:33] <jmk_hiding> we do - we have two of them in fact, RTAI and RTLinux, but I don't see what you mean
[00:55:45] <jmk_hiding> ok
[00:56:26] <lerman> The fact that the RT stuff must be in the kernel is a pita. Solaris has RT tasks that seem pretty fast (have low latency) and run in user space.
[00:56:54] <robin_sz> I thought the later 2.6 kernels had a low latnecy almost realtime thing?
[00:57:05] <jmk_hiding> RTAI is exploring that (LXRT) as are the xenomai stuff, but both have a way to go before they match kernel
[00:57:20] <petev> speed is not the only issue
[00:57:26] <petev> we have to access HW too
[00:57:51] <lerman> Solaris RT tasks have access to all the other user stuff -- mutex, shmem, IO, etc.
[00:58:08] <petev> IO from user space is way to slow
[00:58:11] <jmk_hiding> lerman: thats fine if you are running solaris, we're not
[00:58:17] <lerman> But the HW part is the easy part.
[00:58:34] <lerman> Yeah, I know. Stop bringing me down to earth.
[00:58:38] <jmk_hiding> user space code can't do an outb without invoking a trap
[00:58:46] <petev> to do it right you would have to have kernel mode drivers and take a performance hit to access them
[01:00:34] <lerman> I'm not suggesting a change in architecture. If I were, I'd just take most of the RT stuff and move it to a separate board connected by a high speed connection -- pci, ethernet, usb, parallel port (ugh)....
[01:00:34] <jmk_hiding> anyhow, going back to ken's "rant"
[01:01:16] <jmk_hiding> the shmalloc up/dn thing has to do with separating metadata from RT data
[01:01:20] <lerman> Please do -- petev and others new to the discussion should know that I was the one to first characterize it that way.
[01:01:41] <jmk_hiding> next is the malloc failure handling
[01:01:47] <lerman> Yup. And you've convinced me that it isn't so bad.
[01:02:25] <lerman> I know I'm on thin ice on that one. There are traceability arguments. But it sure does bugger up the look of the code.
[01:03:13] <jmk_hiding> well, things like freeing mutexes need to be handled, so you can;t just throw up your hands and _exit()
[01:03:29] <lerman> If I were doing this in user mode, I would output the error message, do a traceback and exit.
[01:03:35] <alex_joni> you'll end up with a system that won't clean without reboot
[01:03:45] <jmk_hiding> what is a traceback?
[01:03:50] <lerman> How many mutexs are there?
[01:03:55] <jmk_hiding> one
[01:04:31] <lerman> traceback-> stack trace to show the calling path. Not much use to users, but gives good info to debuggers (people, not programs).
[01:04:47] <jmk_hiding> and non-trivial at best to imlement in C
[01:04:51] <lerman> So, before you exited, you could see if the mutex was held and free it.
[01:05:12] <jmk_hiding> gotta know if you hold it, or if someone else does
[01:05:32] <jmk_hiding> also gotta free shared memory blocks
[01:06:08] <jmk_hiding> and remember that most of the functions in hal_lib can be called from the init_module code of a kernel module
[01:06:10] <lerman> Yes. Typically I add a line or two of asm (inside the C) to get copy the stack pointer to a variable. Then the rest is pure C. -- but not portable.
[01:06:21] <jmk_hiding> anything you print there goes to the kernel log
[01:06:36] <lerman> Yes. The kernel log.
[01:07:30] <lerman> How may shared memory blocks are there?
[01:07:36] <jmk_hiding> one for HAL
[01:07:41] <alex_joni> one for me
[01:07:43] <jmk_hiding> halscope uses another for its captured data
[01:07:46] <alex_joni> one for you :)
[01:07:52] <jmk_hiding> classicladder uses one for the ladder program
[01:08:02] <jmk_hiding> emcmot uses one for user/rt comms inside emc
[01:08:04] <alex_joni> and one for motion
[01:08:39] <lerman> Can't they be freed at the user level? After the crash?
[01:09:09] <alex_joni> hardly..
[01:09:15] <jmk_hiding> a given shmem can be opened by multiple kernel modules and/or user processes, thats the whole point of it
[01:09:21] <jmk_hiding> each is supposed to close it on exit
[01:09:36] <jmk_hiding> when the last closes it, the system deletes it
[01:09:59] <petev> ok, I know I missed the start of this, but what's the main problem? The HAL API is well documented and it works. Yeah, there are a few implementation issues to fix, but the overall architecture is good.
[01:10:01] <lerman> My general impression is that in most systems 20% of the code gets executed 80% of the time. More than half of it is never executed (it handles errors that are never supposed to occur.).
[01:10:17] <jmk_hiding> yeah, I can buy that
[01:10:43] <jmk_hiding> in a typical HAL module, well over 50% sets up the module so the rest can actually run to do something usefull
[01:10:51] <robin_sz> in emc1 its different
[01:11:03] <lerman> Sure. But when there is a crash because we ran out of memory somewhere, all bets are off, anyway. So, just kick out the modules (rmmod) and start over again.
[01:12:00] <jmk_hiding> if a module hasn't properly released the resources it uses, the kernel won't let you rmmod it
[01:12:11] <lerman> Most of the error handling code has never been tested. Do you want to tell the customer who is moving multiple tons of steel in real-time?
[01:12:17] <jmk_hiding> for good reason, that leads to oopses and panics
[01:12:31] <jmk_hiding> wtf are you talking about
[01:12:49] <jmk_hiding> hal does no memory allocation in RT, for exatly that reason
[01:13:07] <jmk_hiding> you either get your memory and set up the modules before the RT code starts, or you don't
[01:13:31] <petev> ok, I know I missed the start of this, but what's the main problem? The HAL API is well documented and it works. Yeah, there are a few implementation issues to fix, but the overall architecture is good.
[01:13:35] <lerman> Ah.. That was not at all clear.
[01:14:08] <lerman> petev: no need to ask the same question twice -- whoops, yes there is. Did you see my post to the developers list?
[01:14:10] <jmk_hiding> have you looked at a typical HAL module?
[01:14:20] <petev> no, didn't see it
[01:14:32] <petev> I get batch emails
[01:14:41] <lerman> Yes. I read the module containing the pid code.
[01:14:59] <jmk_hiding> ok, you are clear which parts of that are RT and which ones are init and cleanup, right?
[01:15:56] <lerman> It wasn't clear that one would start all of the modules at the same time. And not add or remove some while you were running.
[01:16:02] <jmk_hiding> I admit that the code to export pins is extremely repetitive
[01:16:14] <jmk_hiding> you can add a module while running
[01:16:21] <jmk_hiding> but it has no effect on the running code
[01:16:23] <lerman> Well, I just had to read it, not write it.
[01:16:35] <jmk_hiding> that particular insmod would fail, the rest would keep running
[01:16:45] <lerman> So, that module might not get memory and the rest would be OK.
[01:17:30] <lerman> If you removed a module, though, you wouldn't get the parts of shared memory containing the pins you used back, I presume.
[01:17:44] <jmk_hiding> the metadata gets recycled
[01:17:48] <lerman> Is pins the right word. S/B signals?
[01:17:57] <jmk_hiding> the RT data does not (today)
[01:18:18] <jmk_hiding> pins and params and functs belong to modules
[01:18:25] <jmk_hiding> signals are kinda global
[01:18:42] <jmk_hiding> so if you remove a module, its pins go away
[01:18:53] <lerman> When I built a system like this, we required that all of the signals be defined up front. Of course, we were programming in assy on an 8080.
[01:19:33] <lerman> A module is like a chip it has pins. A signal is like a wire; it connects pins. Correct?
[01:19:42] <jmk_hiding> the entire point of HAL is to let a user/integrator build up a system from standard components, without predefining what he can and cannot do
[01:19:55] <jmk_hiding> yes
[01:20:42] <lerman> Yes. But the user/integrator could build the system offline; defining what he wants to do. Then the whole shebang could be installed (I use the term install imprecisly).
[01:21:30] <jmk_hiding> for emc, thats exactly what happens, we run all the hal files, "installing" and interconencting modules, THEN we say "halcmd start" which starts the RT threads
[01:21:51] <jmk_hiding> and at shutdown, we say "halcmd stop" before we start removing modules
[01:21:55] <lerman> We did that process offline with a compiler that generated the tables, tasks (threads), metadata, etc.
[01:22:08] <jmk_hiding> however the system was build to allow you to safely add and remove modules while it runs
[01:22:21] <jmk_hiding> of couse you can't remove a module that a critical signal passes thru...
[01:22:34] <lerman> Is halscope one of the modules that is added and removed while running?
[01:23:04] <jmk_hiding> scope_rt is the kernel module that halscope uses
[01:23:12] <lerman> jmk: that does make it easier to debug and build a system (the ability to add and remove while running).
[01:23:21] <jmk_hiding> exactly
[01:23:27] <jmk_hiding> I use it as a breadboard
[01:23:45] <lerman> So, what IS this thing called refactoring?
[01:23:48] <jmk_hiding> I'm probably one of the few (or only) folks who do that, but I don't care
[01:23:54] <jmk_hiding> a lot of cleanup
[01:24:03] <jmk_hiding> addressing much of the repetitive code
[01:24:09] <jmk_hiding> moving the metadata
[01:24:21] <lerman> Well, the guy who writes the code DOES get to say what it does and how it works.
[01:24:33] <jmk_hiding> extending the API so that halcmd and halscope and others don't need to access the metadata directly
[01:25:20] <jmk_hiding> one big thing is to make insmoding a module and instantiating the component(s) in it two separate things
[01:25:37] <jmk_hiding> right now, you insmod pid.ko, and you have to tell it how many PIDs you want
[01:26:02] <lerman> You just answered the question I was about to ask.
[01:26:05] <jmk_hiding> I want you to be able to insmod it, then later say "gimme a PID loop", then later still "gimme another one"
[01:26:42] <lerman> That would be good.
[01:27:38] <alex_joni> lerman: look at the hal_refactor branch
[01:27:43] <alex_joni> some nice code in there
[01:27:52] <jmk_hiding> there is?
[01:27:59] <lerman> Any plans for a generic logic equation evaluator (yes, classic ladder does that, but not in terms of logic equations as far as I know) or for a generic numerical equation evaluator. I wrote both of those in a past life.
[01:28:17] <lerman> Around 35 years ago.
[01:28:32] <jmk_hiding> not at present, but if you want to contribute such code it would be welcome
[01:28:47] <jmk_hiding> kernel vs. user space sucks tho...
[01:29:02] <jmk_hiding> its hard to pass for example a string containing an expression to the kernel side
[01:29:29] <robin_sz> why not just bolt on a standard library, like say Lua
[01:29:35] <lerman> Why is that?
[01:29:59] <jmk_hiding> we would want to parse the expression and form an expression tree or something in user space, then generate fast code to evaluate it and pass that to the kernel module to run in RT
[01:30:12] <lerman> Drivers get passed data all the time. Could the /proc 'file system' be used.
[01:30:12] <robin_sz> coo
[01:31:06] <jmk_hiding> /proc is one possibility, an ioctl for /dev/hal is another
[01:31:17] <jmk_hiding> both have pros and cons
[01:31:24] <lerman> We just took the infix notation and executed it on the fly.
[01:31:33] <jmk_hiding> how fast is that?
[01:32:04] <jmk_hiding> how much code does it take?
[01:32:13] <jmk_hiding> and how does it handle expressions that make no sense?
[01:32:51] <lerman> Hard to say. It was fast enough. Only a few hundred bytes. Well, it always gave a number. If it doesn't make sense, the value is useless.
[01:33:15] <jmk_hiding> I would be interested in that
[01:34:10] <lerman> Signals were represented by numbers representing an offset into the 'signal table'. Operators were represented by negative numbers. Constants were just signals with constant values -- so the user could change them.
[01:34:12] <jmk_hiding> it does basics, + - / * I assume, how much beyond that? ^ ? sqrt()? trig?
[01:34:45] <jmk_hiding> I hope we're talking about the same thing...
[01:35:07] <lerman> I don't recall if we had trig functions. And I believe we did sqrt by successive approx.
[01:35:18] <jmk_hiding> I'm thinking of a hal component that has say 4 input pins a,b,c,d, and out output, x
[01:35:53] <jmk_hiding> and when you instantiate it, you can say "x=a*3+b^2-c/d*4.2"
[01:36:04] <lerman> Yes.
[01:36:10] <jmk_hiding> and then it does that calculation every time the RT thread runs
[01:37:02] <jmk_hiding> if there is an error in the expression (typo, etc), it would complain when you instantiate it
[01:37:23] <jmk_hiding> hence the separate parse and evaluate phases I was talking about
[01:37:29] <alex_joni> how about division by zero or stuff like that?
[01:37:34] <lerman> Except that we didn't allow constants. That is, constants had to be separate pins. But it would be easy to have constants. Yes. Every cycle the values were recomputed. And if one of the outputs was also an intput, you could do successive approximation.
[01:37:36] <jmk_hiding> thats another issue
[01:37:59] <lerman> Divide by zero could give NAN. or + or - INF.
[01:38:22] <jmk_hiding> heh, I'd do INF
[01:38:22] <alex_joni> I wonder what happens if you take the output X and connect it by HAL to input b
[01:38:27] <jmk_hiding> NAN is evil
[01:38:53] <jmk_hiding> alex: depends on how you coded the module
[01:39:07] <alex_joni> I didn't :P
[01:39:22] <lerman> It works just fine. All of the values are captured before any are calculated. (Well, that's what I did -- I think).
[01:39:24] <jmk_hiding> if it reads all inputs, does the math, then writes the output, then it would evaluate each time, using the previous times output as an input
[01:39:36] <lerman> Yup.
[01:40:06] <lerman> We did a separate box for AND OR NOT XOR. It worked the same way.
[01:40:18] <jmk_hiding> bits in and out?
[01:40:28] <lerman> Also boxes for PID, lead/lag.
[01:40:34] <Jymmm> Jymmm is now known as Red70sShow
[01:40:34] <Red70sShow> Red70sShow is now known as Jymmm
[01:40:47] <alex_joni> Jymmm: dumbass
[01:40:48] <lerman> I don't recall if we used bits or bytes.
[01:41:11] <jmk_hiding> I have PID, integrators, differentiators, summers, muxes, comparators, limiters... no lead/lag yet
[01:41:14] <alex_joni> Jymmm: at least that's what I think you just said
[01:41:39] <Jymmm> alex_joni bingo
[01:41:51] <alex_joni> :P
[01:42:39] <lerman> Can you specify a rate for each box? Or are there a set of fixed execution rates.
[01:43:05] <jmk_hiding> you create threads, at whatever rates you want, then add each "box" to a thread
[01:43:13] <lerman> We had four different rates. Each box could have a specified rate.
[01:43:38] <lerman> Well, we only had 8 different task priorities, so we were fairly limited.
[01:43:47] <jmk_hiding> emc only uses 2 threads
[01:44:02] <jmk_hiding> most problems don't really need skads of threads at differnet speeds
[01:44:16] <lerman> But our context switch time was probably better than linux.
[01:44:37] <jmk_hiding> hard to say about context switch
[01:44:41] <jmk_hiding> latency, probably so
[01:45:06] <lerman> Yes. I should have said latency.
[01:45:36] <CIA-12> 03alex_joni * 10emc2/scripts/emc.in: added sudo in some key places, no need to run the script as root anymore
[01:45:47] <jmk_hiding> modern general purpose CPUs are optimized for throughput, not latency
[01:46:02] <jmk_hiding> sometimes I think an 8051 could have better latency
[01:46:45] <jmk_hiding> but once the modern CPU gets started, damn it can get a lot done quick!
[01:47:27] <lerman> Yes. But for a specific application, a modern DSP can get even more done.
[01:47:33] <jmk_hiding> ok, back to the rant: the type specific pin_new functs, instead of the general one, was done specifically to enable typechecking of the pointer passed in
[01:47:50] <jmk_hiding> true, but how many folks have a modern DSP on their desks
[01:48:44] <alex_joni> I would love emc on something like this: http://www.acmesystems.it/?id=4
[01:48:48] <lerman> I understand. And a DSP is not for GP applications.
[01:49:32] <alex_joni> * alex_joni goes to bed.. nuff coding for today
[01:49:39] <jmk_hiding> goodnight alex
[01:49:49] <lerman> alex_joni: no, No, NO. You want a dsp on a pci board.
[01:49:59] <alex_joni> lerman: I don't
[01:50:02] <lerman> gnight -- you've earned your sleep.
[01:50:21] <lerman> But linux has too long a latency.
[01:50:21] <jmk_hiding> I want a PC in 20in^3 and 20watts
[01:50:23] <alex_joni> I really don't want a dsp on a pci board ;)
[01:50:41] <alex_joni> that like probably is close
[01:50:44] <jmk_hiding> lerman: define "too long"
[01:50:51] <lerman> Well, no accounting for taste.
[01:50:58] <alex_joni> jmk_hiding: 2.6" x 2.83"
[01:51:05] <jmk_hiding> exactly
[01:51:10] <alex_joni> MIPS100
[01:51:10] <alex_joni> Power1 watt
[01:51:16] <jmk_hiding> my point was, I want a little PC, not a DSP
[01:51:26] <lerman> Well, I see rtapi as a kludge.
[01:51:34] <alex_joni> noooo
[01:51:39] <alex_joni> not rtapi
[01:51:40] <alex_joni> :)
[01:51:51] <lerman> But your little PC is NFG for RT.
[01:51:56] <alex_joni> try going back to emc1 and the ifdef's for rtlinux and rtai
[01:52:05] <alex_joni> NFG?
[01:52:31] <lerman> No Fscking Good.
[01:52:39] <jmk_hiding> he knows what it means
[01:52:46] <jmk_hiding> but why do you say it
[01:54:17] <lerman> Well, it isn't just the PC. It's the PC running Linux. Although the RT stuff on 2.6 kernels is quoted at decent latency. We shouldn't have to put this stuff into the kernel to build a system.
[01:54:29] <alex_joni> lerman: anyways.. I have a good one ( a Geode Gx1-300MHz SBC)
[01:54:33] <alex_joni> and it's running emc2
[01:54:43] <alex_joni> one day it'll run off a CF card, right now HDD
[01:55:04] <jmk_hiding> lerman, I would love to do something like HAL that is strictly user space
[01:55:07] <lerman> Can you do 8000 servo cycles per second on it?
[01:55:18] <jmk_hiding> but linux, even 2.6, isn't quite ready
[01:55:25] <jmk_hiding> RTAIs LXRT could do it
[01:55:44] <lerman> I'm not familiar withLXRT.
[01:55:49] <jmk_hiding> user space RT
[01:56:06] <jmk_hiding> latencies some few microseconds worse than RT in kernel space
[01:56:22] <lerman> Is it free? And what are its limitations?
[01:56:35] <jmk_hiding> it is part of RTAI, which is free
[01:56:38] <lerman> Of course, then you get to address the IO issues head on.
[01:57:14] <jmk_hiding> limitation: well, latency is worse than kernel, and you can't just do outb when you want IO
[01:57:40] <jmk_hiding> well, you can, but it will cause a trap and a transition to ring 0 (or is it ring3) and all kinds of crap like that)
[01:58:07] <jmk_hiding> I might well explore those things for the future
[01:58:10] <lerman> And how many cycles will that cost you?
[01:58:21] <lerman> I mean the trap.
[01:58:25] <jmk_hiding> not sure
[01:58:45] <jmk_hiding> I think it is a context switch, but I could be mistaken
[01:58:52] <alex_joni> heh.. I like this: http://www.damnsmalllinux.org/wiki/index.php/IRC_Rules
[01:58:59] <alex_joni> we should adopt that
[01:59:18] <jmk_hiding> its pointless to discuss right now, we need to support RTLinux and RTAI as it exists on the BDI distros
[01:59:45] <jmk_hiding> we could rewrite everythign to use LXRT (not sure how nasty that would be) but doing both is about impossible
[02:00:35] <lerman> I thought we had (rules). Although Jymmm appears to be a bot. :-)
[02:02:04] <jmk_hiding> oh, you commented about allocating only one byte for a u8...
[02:02:11] <lerman> I'm about ready to head off to bed (it's 2100 hear in Connecticut).
[02:02:26] <jmk_hiding> again, cache
[02:02:35] <lerman> But I'll hang for a while if you wan't to address that.
[02:02:50] <lerman> Yup. I figured. cache me if you can.
[02:03:07] <jmk_hiding> actually, I should probably address the whole thing point by point in a mail, that way the list sees both sides of the discussion
[02:03:35] <lerman> Thanks for addressing the questions so calmly. And not calling me an idiot.
[02:03:36] <jmk_hiding> anyway, the cache thing - modern CPUs are so fast that cycle counting optimizations like I used to do is pointless
[02:03:50] <jmk_hiding> (used to do: Z-80 days)
[02:04:10] <jmk_hiding> for any but heavily looped code, memory is the bottleneck
[02:04:21] <lerman> We should actually put stuff like this onto the wiki. Even if we just copy the two emails. That way it is permanent.
[02:04:26] <jmk_hiding> RT code tends to be not so heavily looped
[02:04:29] <jmk_hiding> yeah
[02:04:42] <jmk_hiding> the list has archives, but poor if any search ability
[02:04:47] <lerman> Off to bed. Thanks again.
[02:04:50] <jmk_hiding> night
[02:04:58] <lerman> And you need to know what to search for.
[02:05:10] <alex_joni> night all
[02:52:07] <CIA-12> 03jmkasunich * 10emc2/src/hal/drivers/hal_ppmc.c: ppmc driver: Added bootstrap mode to the PWM driver, this provide the special waveforms needed enable the FET drivers on the Pico System PWM Amps. Off by default, set parameter ppmc.x.pwm.xx.bootstrap TRUE to enable it.
[03:24:20] <jmk_hiding> jmk_hiding is now known as jmkasunich
[03:34:39] <Jymmm> jmkasunich: Hey LTNS =)
[03:34:55] <SWPadnos_> he's been hiding
[03:35:07] <Jymmm> SWP_Away: Oh, I didn't know that.
[03:43:19] <wb9mjn> G83 rules! Forgot to set the F and was drilling this sign-makers wood for collet storage with a 7/8 ths Forstner...doing 6 mm pecks...did the holes without even swetting...
[03:44:03] <wb9mjn> Pretty scary seeing the Z axis moving that quick, with a live tool and chips flying all over...got used to it though...
[03:44:20] <wb9mjn> Reversing that quick, that is....
[03:44:49] <wb9mjn> Almost like it was on springs....
[04:02:17] <tomp> g'nite
[04:03:44] <CIA-12> 03cradek * 10emc2/src/emc/ (5 files in 3 dirs):
[04:03:44] <CIA-12> Fix for bug 1374766: wrong offsets written to var file (units problem)
[04:03:44] <CIA-12> Note this was not only a problem with the var file, as explained in the
[04:03:44] <CIA-12> bug report's followups.
[04:06:40] <CIA-12> 03jmkasunich * 10emc2/src/hal/hal.h: hal.h - added a comment that explains the somewhat screwy definitions of HAL_RD and HAL_WR (which differ for pins and parameters, and can be confusing)
[04:15:21] <jepler> cradek: really? whee!
[04:15:30] <cradek> yes! I think it's even right!
[04:15:43] <cradek> we need a bugfix in axis to go with it - it's probably broken for mm inis now
[04:15:47] <jepler> uh oh
[04:15:57] <cradek> it needs to read the user units from the ini
[04:16:12] <cradek> (our canon module does)
[04:16:13] <jepler> let's talk about it tomorrow
[04:16:17] <cradek> ok
[04:16:23] <cradek> I hacked in the inch values so it works for me
[04:47:03] <CIA-12> 03cradek * 10emc2/scripts/emc.in: this broke any system where the path includes the string emc
[04:57:49] <jmkasunich> jmkasunich is now known as jmk_sleep
[05:39:45] <CIA-12> 03paul_c * 10emc2-auto/wiki/ (14 files in 8 dirs): "Auto update wiki from a cron job. Mon Dec 12 05:30:01 GMT 2005 "
[09:23:45] <anonimasu> hm
[09:23:47] <anonimasu> hello
[09:30:49] <fenn> morning
[09:41:08] <alex_joni> morning
[09:59:28] <anonimasu> what's up?
[10:41:51] <Jacky^> morning
[10:41:56] <Jacky^> damn storm :(
[10:56:14] <anonimasu> hm
[11:17:01] <Jacky^> ghghhg
[11:17:24] <Jacky^> * Jacky^ going to buy www.emc.eu
[11:17:27] <Jacky^> :D
[11:21:07] <Jacky^> found waht to do for the next 4 week
[11:21:55] <Jacky^> buy all domains .eu to re-sell later at double of the price :P
[11:22:38] <anonimasu> blah
[11:22:38] <anonimasu> heh
[11:22:44] <Jacky^> :))
[11:22:47] <anonimasu> I already got the offer to buy eu domains at 4x the price
[11:22:52] <anonimasu> domains the seller didnt own..
[11:23:05] <anonimasu> the domains for the company..
[11:23:20] <anonimasu> if we wanted them we'd habe bought them.
[11:23:22] <anonimasu> :D
[11:23:30] <Jacky^> heheh ;)
[11:26:55] <Jacky^> time ago I was looking for a domain name with my name-surmane.it
[11:27:57] <Jacky^> a guy (giovanni colombo) write an email to me and sayd ive already registered you domain name if you wnat it you only pay 200% of original price
[11:29:03] <anonimasu> brb
[11:30:58] <Jacky^> so, i decided do not accept that, and I registered my website as www.giovannicolombo.it ! fack you :P
[11:31:37] <Jacky^> damn dsl !
[11:31:42] <Jacky^> umpf
[11:31:46] <Jacky^> i was sayng
[11:32:00] <Jacky^> time ago I was looking for a domain name with my name-surmane.it
[11:32:44] <Jacky^> a guy (giovanni colombo) write an email to me and sayd he have already registered my domain name: if you wnat it you only pay 200% of original
[11:33:11] <Jacky^> so, i decided do not accept that, and I registered my website as www.giovannicolmbo.it ! fuck
[11:33:14] <Jacky^> lol
[11:35:19] <Jacky^> my dsl hiccup :(
[11:40:07] <Jacky^> :(��������
[13:18:53] <anonimasu> iab
[13:20:03] <anonimasu> I have a good domain ;)
[13:20:09] <anonimasu> "evilgoat.net"
[13:20:21] <Jacky^> :-)
[13:20:31] <anonimasu> it's lovely ;)
[14:18:35] <fenn> arrrrrg
[14:18:56] <fenn> an object can have joints, but the joints are made up of objects
[14:28:01] <anonimasu> ?
[14:33:58] <les_w> morning
[14:41:42] <les_w> what Fenn?
[14:44:04] <les_w> heh. Fenn, you can have joints. And you can be smoking one. ;)
[14:44:14] <fenn> thrashing out a framework for emc3
[14:44:47] <fenn> shhh :)
[14:44:56] <les_w> haha
[14:45:21] <fenn> thrashing wildly
[15:11:27] <cncuser> hello folks
[15:11:31] <cncuser> i am back :)
[15:14:20] <cncuser> is there some overview on how i can convert frmat X into gcode ?
[15:15:19] <cncuser> i try to do my first pcb milling but the gcode output programm doesntnt produce anything usefull, so i need to convert from gerber or hpgl or something that works
[15:20:01] <fenn> try hp2xx
[15:22:54] <anonimasu> hmm
[15:22:57] <anonimasu> :)
[15:23:25] <fenn> if you're using eagle, there are .ulp files available for smarter g-code output
[15:23:56] <fenn> they aren't very smart overall though
[15:25:42] <cncuser> fenn: i use it allready, but only for viewing
[15:26:40] <cncuser> fenn: i use eagle, but... the gcode.ulp produces a empty .ngc. the outline thingy produces muhc to thick wires. and the gerber thing...well, dont know i and how i can convert it to ngc
[15:27:31] <fenn> hp2xx will convert hpgl to g-code
[15:27:47] <cncuser> hmm
[15:27:47] <anonimasu> hm ok
[15:28:51] <fenn> see if you can find lpg-pcb-gcode.ulp
[15:29:19] <cncuser> fenn do yu use eagle ?
[15:29:28] <fenn> no :)
[15:29:32] <cncuser> ic
[15:29:41] <fenn> i have a nice g-code file here that was written from eagle though
[15:30:18] <jepler> cradek and I are eagle users
[15:30:48] <cncuser> jepler: ic. ma i ask you non cnc related quetion about the autorouter ?
[15:30:57] <jepler> cncuser: I'll answer it if I can
[15:31:14] <jepler> our eagle-to-gcode program is here: http://unpy.net/cgi-bin/viewcvs.cgi/eagle/ulp/
[15:31:32] <jepler> grab rev 1.2 of gcode.ulp and 1.2 of singlesided.gpar
[15:31:44] <cncuser> jepler: i paint a schema. arrange the board. klick on autoroute and got autorouted paths. but if i change something i cant autoroute again.
[15:31:46] <jepler> (the .gpar file has stuff like depths and feedrates)
[15:32:16] <jepler> cncuser: if you want it to route a particular wire again, "rip" up the trace so it turns back into the thin yellow line
[15:32:28] <cncuser> ahhh, ok : thanks :))
[15:32:46] <jepler> cncuser: type the command "rip" or it's one of the icons
[15:32:52] <jepler> with green dots and grey dotted lines
[15:33:01] <cncuser> ic cool :)
[15:33:13] <cncuser> i allready thought its a limitation of he freeware version :)
[15:34:06] <jepler> no, the only limitation is board size
[15:34:09] <jepler> oh and layer count
[15:34:16] <jepler> did you get it to work?
[15:34:32] <cncuser> jepler: like a charm :)
[15:35:07] <jepler> if you try out the gcode.ulp we'd like to hear whether it works for you
[15:35:41] <cncuser> jepler: i want to build one of these, and allmost am ready copieng the layout from the given picture
[15:35:43] <cncuser> http://www.serasidis.gr/circuits/AVR_VGA/avr_vga.htm
[15:37:24] <cncuser> hi alex
[15:37:38] <jepler> cncuser: neat. I did a TV output video game on AVR a year or two ago
[15:37:54] <cncuser> jepler: cool, pacman ? spaceinvaders ?
[15:38:08] <jepler> cncuser: never quite finished it, especially after I discovered that my timings were all wrong, and didn't work on a real TV (but did on the LCD TV I had been using)
[15:38:11] <jepler> cncuser: space invaders
[15:38:18] <cncuser> harhar :)
[15:38:36] <jepler> this is from one early stage in the development: http://unpy.net/avr/avr-tv-invaders.jpg
[15:38:47] <jepler> later I made more alien-looking shapes
[15:38:58] <cncuser> jepler: yes, generating video iss a hardjob. i dont ebven uderstand the sassambler routines used :)
[15:39:28] <jepler> I thought I understood them but apparently i got something wrong
[15:39:54] <alex_joni> hello
[15:39:55] <jepler> well, I understand the assembler but getting the timing right is still tough
[15:40:03] <jepler> or tedious
[15:40:32] <alex_joni> cradek: nice fixes
[15:42:49] <cradek> thanks
[15:42:56] <jepler> ./configure
[15:42:56] <jepler> checking for RT dir...
[15:43:00] <jepler> is it normal for it to hang here?
[15:43:02] <cradek> find /usr ...
[15:43:06] <jepler> oh right
[15:43:08] <jepler> *choke*
[15:44:17] <cradek> alex_joni: I would like to always have the interp array and var file in "internal" units (mm) but that will break tkemc which edits the var file directly
[15:45:05] <cradek> so I had to use user units, which unfortunately means adding a couple canon callbacks to get the user units
[15:45:39] <alex_joni> cradek: can't tkemc be fixed?
[15:45:50] <cradek> not by me
[15:45:51] <alex_joni> because that's an ungly thing to have it read the var file
[15:45:55] <alex_joni> theoretically
[15:45:59] <cradek> it's hard to do what it does any other way
[15:46:08] <cradek> but yeah, I agree that behavior is completely broken
[15:46:24] <cradek> it should use MDI to set offsets and it should read them from the stat buffer.
[15:46:44] <cradek> but getting that right would be a pain.
[15:46:54] <alex_joni> let's talk this over with rayh
[15:47:10] <alex_joni> but I think that running tkemc remotely.. will result in bogus behaviour
[15:47:14] <alex_joni> if you use offsets
[15:47:17] <cradek> yes it definitely will
[15:48:06] <jepler> cradek: Has your change changed the meaning of some g-code programs? Something like 'G1 X#52xx' has a different meaning now, since the value stored there is different
[15:49:31] <cradek> jepler: possibly. As long as you were in your native units mode before, the program should do the same thing now
[15:50:05] <cradek> jepler: the case that's different is a machine with inch ini, switching to mm in gcode, then accessing #52xx
[15:50:17] <cradek> but that's been so broken that I doubt anyone did it
[15:54:23] <cradek> jmk said he thinks everyone religiously avoids their non-native units
[15:56:12] <cradek> jepler: I really think the current behavior is what everyone expects and wants, but you're right, there is possibly a program out there that it breaks.
[15:58:02] <jepler> I think 'G1 X#52xx' is probably of dubious utility
[15:58:48] <cradek> I would be a little surprised to see a program use that, and even more surprised to see one depend on the changing-units behavior
[15:59:15] <jepler> cradek: emc2 won't start on install2 now. mind sorting it out? cms_cfg.cc 624: cms_config: can't open 'emc.nml'. Error = 2 -- No such file or directory
[15:59:26] <cradek> did you use an old ini?
[15:59:49] <jepler> I ran 'sudo scripts/emc.run'
[15:59:59] <cradek> sudo scripts/emc sim
[16:00:03] <fenn> all the configs and stuff got moved
[16:00:07] <cradek> emc.run is defunct
[16:00:18] <alex_joni> jepler: try 'scripts/emc'
[16:00:26] <alex_joni> but I suspect you have an older config file
[16:00:35] <alex_joni> and it can't find the emc.nml file
[16:00:47] <alex_joni> * alex_joni goes home..
[16:00:54] <alex_joni> I'll be online in an hour or so
[16:01:01] <cncuser> damit
[16:01:06] <cncuser> bah
[16:01:10] <cradek> ?
[16:01:48] <Jymmm> http://www.golmatic.de/GOLmatic_EN/maschinen_en/MD23_en/md23_en.htm
[16:02:45] <cncuser> i downlaodet crap ;)
[16:02:45] <cradek> that looks like it has about 2" of "Y" travel
[16:03:07] <Jymmm> cradek: rightclick on the thumbnails and view them
[16:04:20] <cncuser> jepler: the same i get an 0 Dec 12 17:04 untitled.ngc empty file
[16:17:58] <cncuser> jepler: is there a way to make you ulp less steahlth ? so it can output debug information ?
[16:29:11] <cncuser> hmm, i see you got line with Error in there. but they dont get viewed. its like everything is ok
[16:29:23] <cncuser> maybe its the eagle version
[16:29:36] <cncuser> 4.15 Light
[16:43:33] <cncuser> cu later
[16:48:28] <A-L-P-H-A> what's it called, when you wipe down a drive, by writing zeros and ones, over every bit on a HD?
[16:49:25] <Jymmm> secure erase, but it's writing 1's and 0's about 50+ times over and over
[16:49:46] <A-L-P-H-A> sounds good... is it win32?
[16:50:15] <Jymmm> that's not a program, that's the name of the generic terms of what you speak.
[16:50:23] <A-L-P-H-A> oh
[16:50:33] <A-L-P-H-A> well, I googled it, and there is a programmed named that hehe.
[16:50:37] <Jymmm> http://www.google.com/search?q=secure+erase+hdd&sa=Search+Google
[16:51:11] <Jymmm> well, personally look for DOD grade or better, and dos or nix based.
[16:53:28] <Jacky^> gnuuuuuuuuuuuuuuuuu
[16:53:32] <Jacky^> hello :))
[16:54:06] <Jacky^> * Jacky^ loves GNU/Linux :P
[16:55:04] <A-L-P-H-A> http://www.sysinternals.com/FileAndDiskUtilities.html
[16:56:17] <Jacky^> that difference ! Linux user loves their OS, Windows user bears yous OS.. bauahahahaha
[16:57:46] <Jacky^> Jymmm: whats up ?
[16:58:00] <Jacky^> sometime my head is going to be crazy ..
[16:58:00] <A-L-P-H-A> yep
[16:58:01] <A-L-P-H-A> true.
[16:58:12] <Jacky^> Im in love with Debian LOL
[16:58:21] <Jacky^> hi A-L-P-H-A :)
[16:58:25] <A-L-P-H-A> the OS isn't that bad in winxp... other than it's not as secured...
[16:59:28] <Jacky^> the incredible thing, really, any day I use this os it surprind me
[16:59:35] <Jacky^> wierd :)
[16:59:46] <A-L-P-H-A> eeer
[17:00:02] <Jacky^> surprice ?
[17:00:18] <A-L-P-H-A> winxp usability is better... they did do that write. the security of the OS is the issue.
[17:01:23] <Jacky^> I think as better you want to mean stupid better
[17:01:34] <Jacky^> yes, it is
[17:01:41] <Jacky^> its simplest
[17:02:10] <Jacky^> really not better usable
[17:02:32] <Jacky^> try wm as Ion3 after some week youll love it !
[17:02:40] <Jacky^> thats the power
[17:04:11] <Jacky^> the only reason i'm using the viruz is for a cad/cam !
[17:04:12] <Jacky^> damn it
[17:04:51] <Jacky^> there are no free altrenative sigh
[17:06:05] <Jacky^> I guess a competitive cad/cam project would take 2 entire developers community as emc :(
[17:06:21] <Jacky^> maybe more..
[17:12:34] <Jacky^> and ..
[17:12:51] <Jacky^> right today I sell an object on eaby for E. 15
[17:13:10] <Jacky^> ebay taked 6 euro for publishing
[17:13:25] <Jacky^> paypal takes 2
[17:13:48] <Jacky^> at the end will i give something to they ?? O_O
[17:14:36] <Jacky^> how it work ?
[17:18:32] <Jacky^> I dont want to try to transfer the few euro are in my paypal account to my credit card .. since id lost it during the ship :/
[17:23:37] <Jacky^> damn im in pats of choth with the adsl
[17:51:53] <cncuser> hi
[17:53:09] <anonimasu> Jymmm: I might just be curious but what kind of information is that secret that you need to wipe your stuff before incinerating it?
[17:53:17] <cncuser> well, anyone want to help me make emc controll a step4 basic 450 cnc ? :) it has a parallelport controlled stepperdriverbox. when i use freqmod i can hear some ticking on the steppers
[17:53:54] <Jacky^> hi cncuser
[17:54:01] <cncuser> i tried the softwrae that came with the box (dos software) it is so crappy i dont want to use it
[17:54:02] <Jacky^> what is step4 basic 450 cnc ?
[17:54:03] <cncuser> hi jacky
[17:54:12] <cncuser> a small cnc
[17:54:17] <cncuser> i search the web, one moment
[17:54:18] <Jymmm> anonimasu: say that again?
[17:54:22] <cncuser> i got it cheap
[17:54:44] <anonimasu> Jymmm: what kind of stuff is that secret that you have to wipe your stuff off it?
[17:54:58] <cncuser> http://www.step-four.at/
[17:55:06] <anonimasu> *curious*
[17:55:16] <cncuser> is there some easy to tune points in the ini. or hal ?
[17:55:33] <Jacky^> cncuser: which drivers ?
[17:55:40] <cncuser> http://www.step-four.at/artikel.php?language=1&id_artikelgruppe=4&id_artikel=3
[17:55:44] <cncuser> hmm, mom
[17:55:45] <Jacky^> step-dir ?
[17:56:03] <cncuser> its called sf-c2
[17:56:04] <Jymmm> anonimasu: There are lots of things. DOD 'classified' level requirements are 50+ rewrites, but even at that it can still be recovered. Secret or Top Secret requires the storage emdium to be physically destroyed by shedder, heat, or both.
[17:56:20] <cncuser> http://www.step-four.at/files/anschlussbelegung.pdf
[17:56:24] <cncuser> all german :(
[17:56:27] <anonimasu> Jymmm: yes, but why would you have that kind of requirement as a normal person?
[17:56:28] <cncuser> sorry
[17:56:44] <Jymmm> anonimasu As far as data goes, could be drawings, plans, NDA, contracts, legal documents etc.
[17:57:11] <cncuser> when i worked as a sysadmin. we used hammers and played golf with old harddisks.
[17:57:24] <anonimasu> I can see it from a admin point of view..
[17:57:42] <Jymmm> anonimasu Ha! admin's are lazy bastards
[17:57:50] <cncuser> true :)
[17:57:53] <anonimasu> say that again and I'll punch you
[17:57:55] <anonimasu> :D
[17:57:56] <Jymmm> they would be the ones trying to recover to be nosey
[17:58:15] <anonimasu> You've been having a bad share of admin
[17:58:15] <anonimasu> s
[17:58:18] <cncuser> Jacky^: whats step dir ?
[17:58:31] <Jymmm> anonimasu I AM a SysAdmin you goober!
[17:58:40] <Jacky^> whats your drivers input ?
[17:58:55] <anonimasu> Jymmm: if you do that kind of stuff you are off the bad share ;)
[17:59:10] <cncuser> Jacky^: 80VA
[17:59:13] <Jymmm> anonimasu: I have also worked DOD contracts, so I'm familure with the processes.
[17:59:28] <Jymmm> anonimasu 'bad share' ?
[17:59:29] <Jacky^> cncuser: sorry .. i meant bad maybe
[17:59:38] <Jacky^> not voltage, inputs
[17:59:45] <cncuser> Jacky^: i have n clue, im the one to sorry ;)
[17:59:46] <anonimasu> if you are trying to recover your users data.. ;)
[17:59:57] <anonimasu> they've removed, unless it's a court order about it.
[17:59:58] <cncuser> Jacky^: inputs... like ?
[18:00:06] <Jacky^> cncuser: that what you need to know before all
[18:00:11] <SWP_Away> SWP_Away is now known as SWPadnos
[18:00:12] <Jacky^> not ?
[18:00:12] <cncuser> Jacky^: it has a rs232 connector and one dsub25
[18:00:14] <Jymmm> anonimasu Hell yes, good way to blackmail em =)
[18:00:28] <cncuser> hmmm
[18:00:29] <anonimasu> Jymmm: did I mention I run a tempest device in my office ^_^
[18:00:31] <Jymmm> especially if they're dumbasses
[18:00:54] <Jacky^> cncuser: yes, Iunderstood, bat wich signal you driver accept in input to drive motors ?
[18:01:06] <Jymmm> anonimasu: See, your worse than me
[18:01:12] <cncuser> Jacky^: oh, did you look at the pdf, maybe its in there ?
[18:01:32] <anonimasu> *cries*
[18:01:33] <anonimasu> brb
[18:01:34] <Jacky^> cncuser: probably
[18:01:43] <anonimasu> need go for a drive to work..
[18:02:16] <SWPadnos_> cncuser: I'm looking at the assembly pdf, and I haven't found the pin assignments yet
[18:03:00] <SWPadnos_> I don't suppose you have an oscilloscope handy? ;)
[18:03:23] <ValarQ> SWPadnos_: doesn't everybody? ;)
[18:03:51] <cncuser> SWPadnos: haha, no, but i have a bt878 tv card with an ad that can do around 0.5 mhz and a view atmel controllers laying around...would that help ? :)
[18:04:02] <Jymmm> * Jymmm holds up a sign.... "Will test for oscilloscope"
[18:04:32] <SWPadnos_> heh
[18:04:43] <SWPadnos_> (sorry - had to get more coffee)
[18:04:44] <cncuser> ok
[18:04:50] <cncuser> i have an oscilloscope
[18:04:56] <cncuser> but i dont dare to connect it :)
[18:05:02] <cncuser> its a siemens oscillar I
[18:05:14] <SWPadnos_> well - if you can run the control software without the machine attached, then you can do some testing
[18:05:29] <SWPadnos_> just some LEDs would do it
[18:05:33] <cncuser> looks like about 50 years old. has lots of tubes in it and a round cannon like looking visuallisation tue
[18:05:45] <Jacky^> coool
[18:05:47] <SWPadnos_> hmmm -my scope only has one tube
[18:05:48] <Jacky^> :D
[18:06:02] <cncuser> i think if i connect it it will explode or something. bought it 5 years ago as trash :)
[18:06:06] <SWPadnos_> my next scope will have 0 tubes ;)
[18:06:33] <Jacky^> SWPadnos_: yes, like the mine
[18:06:42] <SWPadnos_> nice LCD
[18:06:45] <cncuser> i dont have much clue on electrics but i thing those tubes are high voltage stuff
[18:06:52] <Jacky^> at the least we can take it and put in a trash
[18:07:02] <Jacky^> without touching nothing inside !
[18:07:23] <SWPadnos_> the tube mine has is the CRT, or if you adjust it wrong, an X-Ray gun ;)
[18:07:36] <Jacky^> ugh
[18:07:55] <Jymmm> * Jymmm christmas list ---> http://www.home.agilent.com/USeng/nav/-12093.536881892/pd.html
[18:09:11] <Jacky^> thats is a spectrum analyzer
[18:09:21] <SWPadnos_> heh - I'd settle for the 1GHz MSO - the MSO6104
[18:09:48] <SWPadnos_> but I'll probably end up with the 6054 instead
[18:10:03] <Jacky^> Jacky^ is now known as Jacky^dinner
[18:14:13] <Jymmm> SWPadnos you get a soundcard scope or nothing!
[18:14:28] <SWPadnos_> thanks - no soup for you!
[18:14:39] <Jymmm> damn soup nazi!
[18:14:54] <SWPadnos_> come back. one year!
[18:15:31] <Jymmm> actually, I hate the show, just happened to be flipping channels that day
[18:15:55] <SWPadnos_> I think I'll just keep my Agilent 54622D, thanks
[18:17:08] <cncuser> hehe
[18:17:18] <cncuser> should remove some bugs ;)
[18:17:24] <SWPadnos_> don't click the little X, ok ;)
[18:17:28] <cncuser> well, i have the pdf open now
[18:17:51] <cncuser> SWPadnos: actually it was restart jwm ;) my latest puppysit is kind a bugy...
[18:17:58] <SWPadnos_> it pretty much just says "connect this to the parallel port on the computer"
[18:18:02] <SWPadnos_> hsh
[18:18:03] <SWPadnos_> heh
[18:18:05] <cncuser> nono
[18:18:41] <cncuser> oh i c
[18:18:55] <cncuser> the mapping parport pin -> axis is missing.. you mean that ?
[18:19:04] <SWPadnos_> yep
[18:19:24] <SWPadnos_> you can find it pretty easily by making an LED probe
[18:19:34] <cncuser> ok, ill do that
[18:19:42] <cncuser> do i need resisitors for the led ?
[18:19:57] <SWPadnos_> yes
[18:20:14] <cncuser> ok, ills see, ii need to go to an electronicsstore then
[18:20:15] <SWPadnos_> I'd suggest using two LEDs - connect one from +5 to gnd, so you can see the brightness of a full on LED, then use the other one to probe the data pins
[18:20:49] <SWPadnos_> the step output should be dimmer than the full on, and the direction lines woll go from full off to full on when you do moves
[18:21:01] <cncuser> ha
[18:21:03] <cncuser> got it
[18:21:42] <cncuser> http://www.step-four.at/files/technische_daten_interface_fa.pdf
[18:22:09] <SWPadnos_> ok - that could be easier ;)
[18:22:19] <cncuser> coolio :)
[18:22:32] <SWPadnos_> wait a sec - that's only two axis
[18:22:45] <cncuser> no, its X Y Z
[18:23:04] <cncuser> richtung = direction
[18:23:04] <SWPadnos_> ah - OK. are there two X motors?
[18:23:25] <SWPadnos_> yep -Takt = speed
[18:23:29] <cncuser> not with my machine. i got 3 axis and a switch
[18:24:04] <SWPadnos_> Referenzschalter = limit switch?
[18:24:54] <cncuser> hmm no, its not placed on a limit. its i think for manually placing the machine on and make test driving and then go back to the postion to see if all is ok
[18:25:15] <SWPadnos_> hm - ok.
[18:25:28] <cncuser> i dont need that :)
[18:25:39] <SWPadnos_> well - you should be able to test (or look in the box) which switch inputs go to what pins on the parallel port
[18:25:40] <cncuser> any of you ever heard of sfw files ?
[18:25:53] <SWPadnos_> nope -I've heard of swf though
[18:26:01] <cncuser> hehe
[18:26:16] <cncuser> well, the sofware i got with the bos has some special binary format
[18:26:45] <cncuser> so i can take the pin mapping, and configure a hal for it ?
[18:26:49] <cncuser> whats next to do ?
[18:27:09] <SWPadnos_> yep - one sec (I'm looking up sfw)
[18:27:19] <SWPadnos_> ah - Seattle Film Works image ;)
[18:27:24] <cncuser> haha
[18:27:32] <cncuser> no, its some thing they made up i think
[18:27:39] <SWPadnos_> probably
[18:27:56] <SWPadnos_> ok - you'll want to use emc2, with the core_stepper .hal file
[18:28:20] <cncuser> ok
[18:28:48] <SWPadnos_> one sec - I'm just checking a couple of things to find the easiest way
[18:29:52] <anonimasu> iab
[18:30:02] <SWPadnos_> ok - the default ini has the step and direction pins swapped
[18:30:26] <SWPadnos_> you'll need to edit the standard_pinout.hal file (or create a new one)
[18:30:40] <SWPadnos_> there are several lines that look like this:
[18:30:51] <SWPadnos_> linksp Xstep parport.0.pin-03-out
[18:30:52] <SWPadnos_> linksp Xdir parport.0.pin-02-out
[18:31:02] <cncuser> yes
[18:31:08] <cncuser> looks easy
[18:31:16] <SWPadnos_> which you'll need to change to something like this:
[18:31:18] <SWPadnos_> linksp Xstep parport.0.pin-02-out
[18:31:19] <SWPadnos_> linksp Xdir parport.0.pin-03-out
[18:31:40] <SWPadnos_> yep - note that the parport pins are the pin number on the parallel port, so it's especially easy ;)
[18:31:50] <cncuser> hehe
[18:32:14] <cncuser> hmm
[18:32:15] <cncuser> ok
[18:32:18] <SWPadnos_> if you need to change the polarity of a signal, there are parameters that control that
[18:32:28] <cncuser> my z is 8 and 9
[18:32:47] <SWPadnos_> called (I think) parport.0.pin-02-out-invert or something like that
[18:32:58] <SWPadnos_> yes, it looks that way
[18:38:27] <cncuser> hmm, where do i get a standard emc.ini
[18:38:32] <cncuser> i messed mine up
[18:38:40] <SWPadnos_> from an emc2 checkout
[18:38:49] <cncuser> i have no cvs
[18:38:59] <Jacky^dinner> Jacky^dinner is now known as Jacky^
[18:39:05] <SWPadnos_> whia linux distro are you using?
[18:39:09] <SWPadnos_> what
[18:39:24] <cncuser> SWPadnos: a stripped down puppy linux
[18:39:45] <cncuser> SWPadnos: no, really i know how to make that work. i just dont want to. i just want to download a file ;)
[18:39:48] <anonimasu> well install cvs..
[18:39:50] <SWPadnos_> ok - is there a package management system (or can you get the original ini off the CD?)
[18:39:51] <cncuser> no
[18:39:56] <cncuser> please
[18:39:58] <cncuser> :)
[18:40:22] <SWPadnos_> you can get the ini file off the cvs web interface at sourceforge
[18:40:26] <cncuser> hasn alex joni built daily tarballs ?
[18:40:36] <SWPadnos_> not sure
[18:48:40] <Jacky^> oho , president bush sayd we lost 2140 americans soldiers in irak
[18:48:58] <Jacky^> are we sur he calculate uk and IT soldiers too
[18:49:16] <Jacky^> it seem to me we lost few dozen too there
[18:49:29] <Jacky^> good
[18:49:34] <cncuser> to many dead people
[18:49:42] <Jacky^> seems a good result
[18:49:50] <cncuser> civilians
[18:49:51] <Jacky^> for now
[18:50:01] <cncuser> a solder is there to kill or die.. i dont count that
[18:50:23] <Jacky^> bah ..
[18:52:02] <Jacky^> cncuser: found the pinout ?
[18:52:10] <cncuser> well, yes
[18:52:14] <Jacky^> good :)
[18:52:19] <cncuser> i fight with my emc.ini now :)
[18:57:15] <cncuser> ok, gotta go meet a friend, cu alter
[18:57:19] <cncuser> thanks for all :)
[18:57:36] <SWPadnos_> and standard_pinout.hal ;)
[18:57:38] <SWPadnos_> see ya
[19:00:06] <cncuser> haaa it works :)
[19:00:09] <cncuser> yihaaaa
[19:00:11] <cncuser> :)
[19:00:15] <SWPadnos_> cool!
[19:00:16] <Jacky^> of course :P
[19:00:39] <SWPadnos_> not "of course" - it can be configured wrong ;)
[19:00:44] <Jacky^> cncuser: now work on fine tuning
[19:00:59] <Jacky^> backlash, vel, etc :D
[19:01:32] <Jacky^> SWPadnos_: right
[19:08:17] <alex_joni> hello
[19:08:25] <Jacky^> hello alex_joni
[19:10:03] <Jacky^> how are the things ?
[19:10:16] <alex_joni> I'm tired
[19:10:17] <alex_joni> :)
[19:10:53] <Jacky^> thats ok after a day of work ;)
[19:11:37] <Jacky^> id like to playng a bit around Ruby, but ive not much wish :/
[19:14:35] <Jacky^> I think will post-pone all to the new year
[19:14:41] <Jacky^> yeah
[19:16:35] <Jacky^> moon is actally turning in wrong direction
[19:16:44] <Jacky^> is better to wait :)
[19:17:36] <Jacky^> anyone tried Ruby here ?
[19:17:55] <chinamill> * chinamill is back
[19:18:06] <Jacky^> how it seem to you ?
[19:18:58] <jepler> I did part of a ruby tutorial once. I didn't see any feature that made me think it was a better language to know than Python, which is my favorite "interpreted" language.
[19:19:41] <Jacky^> yeah, I know Python is great, a lot of libs
[19:19:47] <Jacky^> too
[19:20:04] <Jacky^> i was thinking Ruby has some advantage
[19:20:19] <jepler> what advantage?
[19:20:20] <Jacky^> like to auto-insert what i could forget
[19:20:44] <Jacky^> talking about interpeted language
[19:21:00] <alex_joni> logger_aj, bookmark
[19:21:00] <alex_joni> See http://solaris.cs.utt.ro/irc/irc.freenode.net:6667/emc/2005-12-12#T19-21-00
[19:21:02] <Jacky^> why a compiler show a warning to me ?
[19:21:26] <Jacky^> if it found a warning or sintax error, why cannot correct it for me
[19:21:36] <Jacky^> that waht i like in Ruby
[19:21:46] <jepler> ruby never produces a warning or syntax error?
[19:21:54] <Jacky^> rarely
[19:22:28] <Jacky^> it is powerful and intelligent language
[19:22:39] <Jacky^> maybe more of Python ..
[19:22:47] <Jacky^> but is young
[19:24:11] <jepler> maybe someday I'll decide to learn it
[19:24:12] <Jacky^> of, course we are examining the case of a guy who want to start with a newbie and powerful language
[19:26:00] <alex_joni> hi jeff
[19:26:09] <jepler> hi alex
[19:26:10] <alex_joni> figured out the problems with the runscript?
[19:26:12] <Jacky^> jepler: you no need it :)
[19:26:27] <jepler> alex_joni: I hear you did a lot of work on emc1 HEAD. Thanks!
[19:26:44] <alex_joni> now it's up to chris to realease it :)
[19:27:10] <alex_joni> we want a final sourcecode release for emc1
[19:27:17] <Jacky^> jepler: it could be nice, I think, because a lot of peoples could be offer their contribute on developing, instead
[19:27:25] <alex_joni> and maybe binaries for the common BDI's
[19:27:55] <cradek> alex_joni: chinamill just reported that the A axis bugfix did fix it
[19:28:08] <alex_joni> cradek: great news
[19:28:26] <alex_joni> he also said the other day that his moves are ok now
[19:28:29] <Jacky^> :)
[19:28:40] <alex_joni> it was a misconfiguration of the stepgen, (overshoot & co.)
[19:28:48] <cradek> good
[19:29:09] <cradek> I think that was the last big bug I know about
[19:33:14] <alex_joni> I hope that's true
[19:34:15] <jepler> cradek: are you going to backport the rs274ngc offset bugfix to emc1?
[19:35:22] <cradek> no
[19:35:36] <jepler> because it's an API change?
[19:35:40] <cradek> as you pointed out, it's (very remotely) possible that it changes the behavior of a program out there
[19:35:47] <jepler> oh heck
[19:35:51] <jepler> I shouldn't ought to have
[19:37:06] <cradek> do you think it belongs in emc1? I guess it IS a bugfix
[19:37:55] <cradek> * cradek struggles to care about emc1 now that he's switched to 2
[19:38:10] <jepler> but I'm stuck back on emc1!
[19:38:29] <jepler> you're on the board, can't you order someone to make emc2 work on a simulator without a realtime kernel?
[19:38:43] <cradek> yeah, and I know just the developer to do that
[19:38:55] <alex_joni> cradek: you do?
[19:38:57] <cradek> he talks a lot but hasn't ever checked anything in
[19:39:06] <jepler> oh crap. busted.
[19:39:35] <cradek> I think he even has a plan for doing it already
[19:39:53] <jepler> never trust a design made before looking at any code
[19:40:12] <alex_joni> jeff: c'mon, the rtapi part is pretty
[19:40:31] <cradek> you would make another rtapi backend?
[19:40:42] <alex_joni> that's how I'd do it
[19:40:45] <cradek> I've never looked at rtapi but I think I understand the idea
[19:40:50] <alex_joni> and I think zwelch even started that
[19:40:56] <alex_joni> * alex_joni looks
[19:41:10] <jepler> did he ever check anything in?
[19:41:21] <alex_joni> he sent me a patch, want it?
[19:41:21] <cradek> I think we really need this. I know jmk doesn't use the debugger, but I rely on it heavily
[19:42:22] <SWPadnos_> there would be some other changes needed, since halcmd uses insmod do implement loadrt
[19:42:29] <SWPadnos_> s/do/to/
[19:42:58] <Jacky^> cradek: jmk dont use debugger ?
[19:42:58] <cradek> even ./configure --with-rt=simulated (or however it's spelled) is fine with me
[19:43:04] <alex_joni> jepler: just looked at it, only differences for ./configure and makefiles
[19:43:08] <SWPadnos_> you'd need new versions of all the hal modules, I think (or a non-RT rtapi module)
[19:43:39] <Jacky^> he seems to use users as debugger that are better :P
[19:44:00] <alex_joni> SWPadnos_: no need for new hal modules
[19:44:05] <alex_joni> only a rtapi_sim
[19:44:11] <alex_joni> which already is there.. just not finished
[19:44:17] <SWPadnos_> yep - that was the part in parens ;)
[19:44:30] <SWPadnos_> ok - cool
[19:44:47] <SWPadnos_> does the simRT use kernel threads, or just fake it?
[19:44:53] <alex_joni> probably it's a LOT more problematic than at the first view
[20:03:49] <Jymmm> If I was to put encoders on my steppers, can emc handle this?
[20:04:02] <SWPadnos_> yes and no
[20:04:14] <SWPadnos_> you would get true position feedback from the encoders, so that would work
[20:04:26] <Jymmm> I wna tthe encoders to "drive" the steppers (so to speak)
[20:04:47] <SWPadnos_> but there's no velocity adaptation to slow things down if the steppers can't go as fast as you want
[20:05:03] <SWPadnos_> how do you mean?
[20:06:25] <Jymmm> I have run this same job 8 times now, it's costing me money in ruined materials alone. I even ran the job this morning on some scrap without a problem. MY X axis seems to have an issue, and randomly stalls at one point or another and botches the job.
[20:06:48] <Jymmm> I'd want the encoders to prevent this from happening, even if that means slowing things down.
[20:06:59] <SWPadnos_> ok - wo you want to have emc stop if the stepper gets too far behind
[20:07:00] <Jacky^> Jymmm: switch to servos .. its good
[20:07:05] <alex_joni> you want some inverted PID
[20:07:15] <alex_joni> going the other way as usual
[20:07:17] <SWPadnos_> you need the G-Rex from geckodrive
[20:07:40] <SWPadnos_> the TP has to do any velocity adaptation, not the PID
[20:07:51] <Jymmm> alex_joni I really dont know what 'PID' is/does
[20:07:54] <alex_joni> Jymmm: usually when you do loop feedback, you have the position from the encoder
[20:08:08] <alex_joni> that gets fed to the PID loop which does the loopback
[20:08:24] <alex_joni> so when the position fallse behind what was commanded, the command is increased
[20:08:29] <alex_joni> so it'll catch up
[20:08:35] <alex_joni> but that only works on servo's
[20:09:00] <alex_joni> can't do that on steppers.. because once a stepper starts loosing steps, you can't command it even faster.. it won't do any good
[20:09:12] <SWPadnos_> right - you could use the lag to autmagically drive feed override, but there's no pin for that now (AFAIK)
[20:09:29] <alex_joni> that's a good idea
[20:09:32] <alex_joni> and not hard to do
[20:09:38] <SWPadnos_> well - get to it ;)
[20:09:44] <Jacky^> Id like to try with a biggest stepper before ..
[20:09:50] <Jymmm> At this point, I dont care at all about speed, just position.
[20:09:54] <alex_joni> but it has the potential to stop it
[20:09:56] <Jacky^> may in the axis youve the issue
[20:10:00] <SWPadnos_> then just lower the speed with FO
[20:10:15] <Jymmm> The REALLY sad part is I'm running the job at 40IPM
[20:10:29] <SWPadnos_> what material?
[20:10:34] <Jymmm> and it still fucks up.
[20:10:43] <Jymmm> wood
[20:10:45] <Jacky^> probably mdf
[20:10:47] <Jacky^> ?
[20:10:57] <Jacky^> thats not the material
[20:11:01] <SWPadnos_> ok, and what spindle speed / cutter size?
[20:11:12] <Jymmm> 1/8" 20K RPM
[20:11:25] <Jymmm> .0625 stepover
[20:11:43] <SWPadnos_> what's the depth of cut?
[20:11:50] <Jymmm> .125
[20:12:12] <SWPadnos_> hm
[20:12:19] <Jymmm> exactly
[20:12:36] <Jymmm> any slower feed and I'll start burnign the wood
[20:12:40] <Jacky^> SWPadnos_: after some hour of work the motors become *very hot* and start to lost steps ..
[20:12:46] <Jacky^> i had the same issue
[20:13:01] <SWPadnos_> what driver?
[20:13:06] <Jymmm> xylotex
[20:13:33] <SWPadnos_> do you have control over spindle speed?
[20:13:59] <SWPadnos_> (other than on/off)
[20:14:14] <Jymmm> yes
[20:14:19] <Jymmm> 8k to 25k
[20:14:29] <SWPadnos_> well - slow the spindle, and run slower feeds
[20:15:03] <Jacky^> Jymmm: do you have the issue always in the same axis ?
[20:15:07] <SWPadnos_> also, what pulse rate are you asking emc to generate?
[20:16:19] <Jacky^> I found that up to 27/ipm my cnc could start losting steps in X and Z
[20:16:45] <Jacky^> if the issue for you is only in one axis, use a biggest stepper, im sure youll solve
[20:17:11] <Jacky^> if are 2 axis.. better to change motors and drivers !
[20:17:20] <Jacky^> if you want to run so fast
[20:19:19] <Jacky^> Jymmm: im pretty sure your drivers ar very good, not enough instead the motors
[20:28:13] <les_w> taking a break
[20:28:23] <les_w> from the shop
[20:28:26] <Jacky^> hi les_w welcome :)
[20:29:31] <les_w> Took a look at hobby cnc router costing
[20:29:52] <les_w> profile rails are too much money for hobby
[20:29:56] <Jacky^> commercial cnc ?
[20:30:03] <les_w> fine for yours jacky
[20:30:08] <les_w> yes commercial
[20:30:10] <Jacky^> :)
[20:30:19] <les_w> had to check prices
[20:30:45] <Jacky^> you think its a good time right now for that ?
[20:31:07] <les_w> $93/meter for rail and $53 percarriage is a very good price for commercial
[20:31:26] <les_w> Good time for hobby cnc router sales?
[20:31:32] <Jacky^> yeah
[20:31:48] <les_w> I don't know. I'ts just an excercise
[20:32:21] <les_w> Have to rethink the guide rails
[20:33:38] <les_w> 1 rail per axis and a simpler outrigger on the other side would save money
[20:33:59] <Jacky^> may a large rail ?
[20:34:19] <SWPadnos_> or get cheaper rails, and surface grind the assembled carrier
[20:34:57] <les_w> Well, one precise linear rail as for your machine on one side. It would be the master guide rail
[20:35:12] <alex_joni> cradek: are you around?
[20:35:18] <les_w> then a Plastic bearing/surface outrigger on the other side
[20:35:33] <SWPadnos_> sure, but if I'm imagining the construction, you'd get a bit of "bounce" on the other side
[20:35:35] <alex_joni> I ssh'd to a machine (/dev/pts/1) is there any way to connect to /dev/pts/0 ?
[20:35:47] <cradek> yes
[20:35:53] <alex_joni> how?
[20:35:57] <cradek> yes I'm around
[20:36:01] <alex_joni> ahh :D
[20:36:06] <cradek> what do you mean "connect to"?
[20:36:08] <les_w> SWP: yeah...capture it somehow
[20:36:09] <cradek> what are you trying to do?
[20:36:15] <les_w> or cam followeres
[20:36:29] <alex_joni> cradek: it's a fresh installed debian, and there's some config utility on the other pts
[20:36:42] <alex_joni> I need to close that.. but kill won't work (it keeps reappearing)
[20:36:49] <alex_joni> I even rebooted, and it came back :(
[20:37:01] <cradek> want to borrow my redhat CDs?
[20:37:12] <alex_joni> it's remote
[20:37:17] <alex_joni> a few km away
[20:37:21] <cradek> kill its parent, whatever's starting it
[20:37:26] <alex_joni> that's why I bother with ssh..
[20:37:30] <alex_joni> can't find that
[20:37:36] <cradek> ps fx
[20:38:00] <alex_joni> nice ;)
[20:38:09] <cradek> don't know how else to help you
[20:40:17] <les_w> Ok. a couple skate bearings above and below a plate. One spring loaded. Master rail controls transverse stiffness. Easy near kinematic construction
[20:43:47] <les_w> Big cost saver, still very accurate I think. Few disadvantages that I can think of....
[20:44:24] <les_w> Big rails/ blocks cost about the same as little ones....
[20:45:18] <les_w> so just use on one side.
[20:45:41] <les_w> I AM TRying to think of disadvantages for this
[20:45:46] <les_w> ??
[20:49:21] <alex_joni> hi rayh
[20:49:38] <rayh> hi alex_joni
[21:05:58] <les_w> hmm...no clemency from the terminator....just anounced
[21:06:33] <Jacky^> read right now..
[21:07:18] <Jacky^> boh .. I cant understand, I live in mars ..
[21:08:06] <Jacky^> the effect they want would be exacly the opposte
[21:08:25] <Jacky^> hope i'm missing
[21:26:57] <chinamill> les_w: do you have a draft?
[21:27:55] <Jacky^> this is the paradox of the world: http://www.ogrish.com/archives/2005/july/ogrish-dot-com-gay_teens_executed_in_iran1.jpg
[21:30:07] <cradek> Jacky^: sickening.
[21:30:21] <Jymmm> Jacky^ what the fuck?
[21:30:36] <cradek> Jacky^: religious fundamentalism.
[21:30:57] <Jacky^> what ?
[21:31:31] <cradek> Jacky^: that's the cause of this kind of evil.
[21:31:56] <Jacky^> cradek: uhm
[21:32:30] <Jacky^> i really think no man at this world could kill another
[21:33:08] <Jacky^> right yesterday i was thinking about the man died at 96 years old
[21:33:30] <Jacky^> the man who used the aromic bomb in japan
[21:33:38] <Jacky^> 28k peoples died ..
[21:33:49] <Jacky^> how can fill him before died ?
[21:34:29] <Jacky^> we have not been created to win on this heart
[21:34:39] <Jacky^> peoples wnat understand
[21:35:28] <Jacky^> life is short enough
[21:36:40] <Jacky^> thats really OT, sorry ..
[23:46:57] <Jacky^> Jacky^ is now known as Jacky^afk