Tutorials

Sweep-based Recording

By default, RTXI run continuous protocols, similar to a chart recorder. We are currently working on environments to make it easier to visualize results within RTXI from sweep-based protocols. Meanwhile, you can implement sweep-based protocols in your custom modules by using counters for each cycle, or by keeping track of the time lapsed since you [...]

Getting Started

This tutorial will contain a series of screencasts showing you how to use the RTXI interface. Screencast #1: 1. Loading user modules 2. Modifying module parameters 3. Using the Oscilloscope 4. Changing the system sampling rate 5. Checking RTXI real-time performance

Custom GUIs

The code that creates the GUI for a DefaultGUIModel-derived user module is located within the createGUI() member function. This function can be overloaded by a derived class to generate a custom GUI. RTXI uses the Qt platform, which is open-source and has a very well-documented API for creating GUI controls such as checkboxes and push [...]

Naming conventions for DefaultGUIModel

The Data Recorder automatically extracts Parameters and Comments from modules that are based on the DefaultGUIModel class. If the name you have defined for a parameter or comment contains an invalid character, it will not appear in your HDF5 file. Currently, it is known that you cannot use a slash (‘/’) character in the name [...]

Real-time performance benchmark tests

RTAI-based tests The RTAI tests are located in RTAI’s install directory (usually /usr/realtime/testsuite/). In this directory are folders for kernel and user space tests. If you installed RTXI from the Live CD, the real-time scheduler kernel module is already loaded and you must run the user-space tests. These three tests are available from the RTXI [...]

Manually configuring RTXI

You can manually configure RTXI with many options. For example, if you’d like to run RTXI using the Xenomai real-time interface rather than RTAI or in non-real-time mode using the POSIX interface. You may also direct RTXI to libraries/packages in non-standard locations. The full configure options are below: configure’ configures RTXI trunk-1.2 to adapt to [...]

Non-real-time debugging

RTXI can be run in non-real-time to debug your code. This will require that you manually configure and recompile RTXI. In the RTXI directory: ./configure –enable-posix

Configuring RTXI for multiple DAQ cards

RTXI has no built-in software limitations on the number of DAQ cards. You will need to edit the configuration file, however. Here is the relevant excerpt of /etc/rtxi.conf: <OBJECT component=”plugin” library=”comedi_driver.so” id=”2″> <PARAM name=”0″>/dev/comedi0</PARAM> <PARAM name=”Num Devices”>1</PARAM> <OBJECT id=”13″ name=”0″ /> </OBJECT> Edit the lines to add another COMEDI device and change the number of [...]

Configuring and calibrating your DAQ card

Many DAQ cards supported by COMEDI are plug-and-play in that no manual configuration of the driver is necessary to tell your system which card you have. COMEDI provides kernel modules so it sends messages to your kernel log, which can be viewed with: $ dmesg. For some low-level information about your card: $ cat /proc/comedi [...]

RTXI HDF5 Data Files

The HDF5 file format is a portable and extensible binary data format designed for complex data. It features support for an unlimited variety of datatypes, and has flexible and efficient I/O. HDF5 features a hierarchical structure that allows you to access chunks of data without loading the entire file into memory. An HDF5 file produced [...]