RTAPI is the name of the real-time portability APIs in emc. Currently, we provide two implementations of RTAPI that are known to work: RTAI's kernel-moade interface (the one everyone uses when actually controlling hardware) and sim (based on gnu pth for threading primitives, no realtime guarantees, not suitable for controlling hardware--great for developing GUIs and debugging non-driver realtime code).
There is no working RTAPI implementation in terms of POSIX threading primitives in the linuxcnc source tree, though there are at least two earlier efforts that each achieved some level of functionality. See e.g., http://mid.gmane.org/02c101c9908d$4657afb0$6400a8c0@danalappy http://axis.unpythonic.net/01190912545 http://mid.gmane.org/200910110020.00011...@bu3sch.de http://bu3sch.de/patches/misc/emc-on-linux-rt.patch RTAPI is a fairly small set of APIs (about 50 or so, with maybe 40 actually required to run emc). Most are documented in the unix manpage system, section 3rtapi, but a few may only be in the header rtapi.h. In addition to implementing the APIs, you'd have "housekeeping" things to do like the build system, the packaging system, and the realtime start/stop script. Finally (but the biggest item if you want to control hardware!), since the only hardware-controlling RTAPI implementation runs in the kernel, hardware drivers freely use Linux kernel APIs for e.g., PCI device detection and I/O port allocation during setup, and inb/outb for I/O in realtime code. For whatever hardware drivers you wanted, you'd have to invent new RTAPI APIs that provide the same functionality, and then change them from calling kernel APIs to RTAPI APIs. (I imagine that these RTAPI APIs would be thin wrappers for the underlying kernel codes in the RTAI RTAPI implementation, so that part wouldn't be trouble) Jeff ------------------------------------------------------------------------------ What Every C/C++ and Fortran developer Should Know! Read this article and learn how Intel has extended the reach of its next-generation tools to help Windows* and Linux* C/C++ and Fortran developers boost performance applications - including clusters. http://p.sf.net/sfu/intel-dev2devmay _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users