Orocos Real-Time Toolkit
2.5.0
|
This is the Online API documentation of the Orocos Real-Time Toolkit.
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.
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.
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.
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.
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.
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.