Orocos Real-Time Toolkit  2.8.3
RTT Online API Documentation

Introduction

This is the Online API documentation of the Orocos Real-Time Toolkit.

Recommendation

It is easiest to browse the classes by modules, to not loose the overview. Click for example on the Modules List link, select a module and then you get the most important classes for this module.

You will most likely also need to read the online manuals.

Real-Time Toolkit classes (RTT)

The classes in the RTT namespace are the only classes that a beginning user needs. All less commonly used classes or internal functions are moved into sub-namespaces of the RTT namespace.

A component is implemented using the RTT::TaskContext class. The Component interface consits of these parts: operations: RTT::Operation, properties: RTT::Property, attributes: RTT::Attribute and data ports: RTT::InputPort, RTT::OutputPort.

A Component is run by an RTT::Activity which attaches a thread to the component's internal Execution Engine. The RTT::ExecutionEngine is the beating heart of each component which executes the the application code, asynchronous operations, executes plugin functionality etc.

Plugins

Scripting is enabled by the RTT::scripting::ScriptingService, XML can be read by the RTT::marsh::MarshallingService. Both are provided as plugins and can be accessed by using the RTT::TaskContext::getProvider function with the Scripting or Marshalling provider classes as template parameters.

CORBA transport (network communication)

Components can be connected over a network using the CORBA classes. Only two classes are required: RTT::corba::TaskContextServer and RTT::corba::TaskContextProxy. The former exports a local TaskContext instance to the network, using the CORBA Naming Service if available, the latter represents a remote TaskContext (located using the name or IOR) and allows local TaskContexts to communicate with the remote instance.

The RTT must be compiled with the ENABLE_CORBA=ON flag in order to enable this extension. The typegen tool generates transport plugins for your data types for CORBA.

Posix MQueue transport (local inter-process communication)

The mqueue transport allows real-time communication between processes on the same host. The typegen tool generates transport plugins for your data types for message queues.

Hardware Access and Device Interface

Orocos has an abstraction layer and some utility classes to access common devices (IO, encoders,...) from applications. The Device Interface headers can be found in rtt/extras/dev.

The device drivers are not implemented by the RTT, and fully optional to use.