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

Reply via email to