We will have some days (long and/or short times):
I know the existence of open source robotics initiative like orocos, but this is too complex for us! :(
So, I've written a driver for the motion board, and some tools to configure it, command it and make some measures on it (for motors identifications, etc..) The tools take an scilab ascii data file as input command and give the result in scilab ascii format. For the measure feature i have decrease the kernel granularity to 1ms by applying the variable HZ patch (with that i can make a measure at a roundly 1KHZ rate) . But this sample period is still too big, when i plot the measures i've done, i see that i would need a more accurate sample period.
So I decide to play with RTAI, after reading some documentation, introduction, etc... I ask me how to implement my driver with RTAI and what do put in RTAI, what to keep in linux user space and how to implement communication between both side.
I've read some docs on comedi, but it seems to me that it is design for "simple" IO cards (numeric or analogic), but not to more specific cards.
What is "the best" technique to implement a driver with RTAI that can interact with user space utility
So, this was the (not so) lot of beginner's existential questions! ;o)
I am a newbie with RTAI. I want to do the installation as simply as possible, for the purpose of developing a Linux-based surgical simulator, where with haptic feedback on the order of 200-1000Hz, and visual feedback at 60Hz. Some of my application software is hard realtime, and some is not, which makes RTAI more natural than RTLinux, I believe (couldn't quite compile the streams part on RTLinux...).
In looking at the latest download, rtai-24.1.12, there are so many patches that I'm finding it difficult to decide which ones to apply, which Linux platform to choose, and what order in which to apply the patches, some of which don't apply cleanly. For example, if I start from Linux kernel 2.4.19 on a Pentium machine, I'm finding patches/patch-2.4.19-adeos-r8, ...-2.4.19-allsoft, ...2.4.19-cris-rthal, ...2.4.19-rmk-arm-rthal5, ...2.4.19-rmk-pxa-arm-rthal5 and finally patch-2.4.19-rthal5g. The README.INSTALL indicates that only rthal5g and adeos are relevant (although refers to other versions), and moreover the adeos patch does not apply cleanly (and make bzImage does not work then).
Moreover, I've seen on other websites references to "tracing toolkits". Is this relevant?...
Can someone help me make heads or tails of these different patches? Is 2.4.19 the best kernel from which to start? Will simply patching rthal5g, which seems to apply cleanly, meet my needs, or is the other stuff required?
Please advise. Thanks for your kind consideration.
A: You need to get a vanilla Linux kernel 2.4.19, and either use patch-2.4.19-rthal5g _or_ patch-2.4.19-adeos-r8. Both provide the same support to RTAI thus are mutually exclusive. This way, any of them will apply and compile cleanly.
On x86-based systems, patch-2.4.19-rthalX is poised to become (unmaintained) legacy support in the next major RTAI release (3.0/kilauea), and patch-2.4.19-adeos-rX the standard (maintained) one. Then, rthalX for x86 will eventually be discontinued after a 3-6 months transition period. As you may have noticed, this evolution is not planned for other (non-x86) archs.