Raspberry Pi is a small factor fully-featured computer. It can be used for multiple purposes such as a controller.
In most of applications it is necessary to use some kind of communication interface. Raspberry Pi delivers, among others, UART, SPI and I2c. However, UART (serial port) is most commonly used if you just want to send some data between RPi and other devices. While using SPI or I2c in i.e. python script is rather straightforward, using serial port, or making it to work, isn’t so easy as it might seem.
Some time ago I have written a few real-time Linux drivers for Xenomai and complementary OROCOS components. But first thing first! What the heck is Xenomai and OROCOS? To keep it as short as possible; Xenomai is an open-source project which aim is to bring real-time API to Linux based system. It is an extension to the Linux kernel which makes it a hard real-time operating system. On the other hand, OROCOS is a robotic framework that brings a vast number of libraries and a toolchain to create components. What is more, Xenomai and OROCOS do play along which means you can facilitate features of both i.e. to create a hard real-time components.
If you are interested you can find the code for each driver and for each OROCOS component on my GitHub repository. Feel free to fork!
Below are direct links to the repositories:
Driver for Sensoray 626 multi analog/digital I/O board
Driver for JR3 6 DoF force/torque sensor
Driver for Mecovis multi I/O card
OROCOS component for Sensoray 626
OROCOS component for JR3