On Thu, 2008-10-23 at 12:42 -0400, John Kasunich wrote: ... snip > I think some confusion is because of your use of the term "thread". EMC > and HAL use the term "thread" to specifically refer to a _realtime_ > thread with a specific period, but you seem to be using "thread" while > talking about a non-realtime component.
That's one of my problems. I only know enough to create a component that fits in a realtime thread. (Dangerous is my middle name.) > Realtime HAL components export functions, and those functions are linked > into realtime thresds. Each function in a HAL thread runs one after > another, and all of them _must_ be complete before the next time the > thread is due to run. > > Non-realtime HAL components do not export functions. A non-realtime HAL > component is an ordinary Linux process. It has its own memory space and > runs just like any other user space program. It has no restrictions > about calling blocking functions. It can use read(2) and write(2) to > access files (including /dev files). It can use select(2) with or > without timeouts. It can use sleep(3) if it wants to poll HAL pins > periodically. And it can use normal Linux drivers for things like the > serial port. Such a component will _usually_ be quite responsive, but > response times are not guaranteed. I need to learn more about non-realtime. It has been a while since I have read the documentation, it might be a good time to go through it again. > Spindle control was mentioned as a use case - that would be fine for > normal milling, but I wound not use it for rigid tapping. EMC issues a > command to reverse the spindle as the tap approaches the bottom of the > hole. A user space HAL component would probably send that command to > the spindle drive quickly 99% of the time, but it only takes one time > with a half-second delay to break a tap. So maybe having my component inserted to an RT thread isn't a bad thing? If it works it must be timely? > > Regards, > > John Kasunich Just because I don't have the time or talent, doesn't mean I don't want to be a brain surgeon too. When are you guys going top get my clone done? I'll be the hansom one. Kirk ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
