├── .gitignore ├── .travis.yml ├── AUTHORS ├── CMakeLists.txt ├── COPYING.md ├── ChangeLog ├── Doxyfile.in ├── NEWS ├── NO-WARRANTY ├── README.md ├── UseOROCOS-RTT-helpers.cmake ├── UseOROCOS-RTT.cmake ├── config ├── CreatePCFlags.cmake ├── FindACE.cmake ├── FindBoost.cmake ├── FindCorba.cmake ├── FindEcos.cmake ├── FindLcov.cmake ├── FindLog4cpp.cmake ├── FindOmniORB.cmake ├── FindPthread.cmake ├── FindRTAI.cmake ├── FindTAO.cmake ├── FindXenomai.cmake ├── FindXenomaiPosix.cmake ├── FindXerces.cmake ├── LibFindMacros.cmake ├── SelectOneLibrary.cmake ├── check_depend.cmake ├── cmake_uninstall.cmake.in └── rtt_macros.cmake ├── configure ├── doc ├── AnyToPNG.cmake ├── CMakeLists.txt ├── CODING_STYLE.txt ├── DocBookToHTML.cmake ├── DocBookToPDF.cmake ├── OrocosIn3Slides.odp ├── OrocosOverview.sxi ├── PACKAGING ├── README.txt ├── SvgToPDF.cmake ├── cpf.dtd ├── fop.xconf ├── orocos-html.css ├── orocos_cheat_sheet.svg ├── rtt_cheat_sheet.svg ├── sgml │ ├── applications-doc.sgml │ ├── components-doc.sgml │ ├── decoupling.sgml │ ├── deep-shallow-api.sgml │ ├── general-dynamics-doc.sgml │ ├── geometry-doc.sgml │ ├── interpolation-api.sgml │ ├── kindyn-doc.sgml │ ├── motion-api.sgml │ └── robot-api.sgml ├── xml │ ├── autolayout.xml │ ├── catalog.xml.in │ ├── fopconfig.xml │ ├── images │ │ ├── ACMotor.jpg │ │ ├── ATaskContext-basic.png │ │ ├── ATaskContext-basics.png │ │ ├── ATaskContext-plugins.png │ │ ├── ATaskContext-properties.png │ │ ├── ATaskContext-services.png │ │ ├── ATaskContext.svg │ │ ├── AnalogMeter.png │ │ ├── ApplicationStack.svg │ │ ├── ApplicationStack2.svg │ │ ├── AutomaticState.png │ │ ├── ComponentArch-3.svg │ │ ├── ComponentFlows.svg │ │ ├── ComponentImplementation.svg │ │ ├── ComponentInterface.svg │ │ ├── ComponentStates.svg │ │ ├── ComponentStatesExtended.svg │ │ ├── ComponentTriggering.svg │ │ ├── CoreVsContext.svg │ │ ├── DataFlowPorts.svg │ │ ├── DeploymentLevels.svg │ │ ├── FDIvsFOSI.dia │ │ ├── FrameworkOverview.svg │ │ ├── HelloDeployment.svg │ │ ├── HelloWorld.svg │ │ ├── MachineStates.dia │ │ ├── Meter_1.png │ │ ├── ProgramStates.dia │ │ ├── ProgramTransitions.dia │ │ ├── RTT_KDL_BFL_400.png │ │ ├── RTT_KDL_BFL_fill.png │ │ ├── ReactiveState.png │ │ ├── RealTimeToolkit.svg │ │ ├── RunTimeStates.svg │ │ ├── SimpleLogo.svg │ │ ├── StateTransitions.dia │ │ ├── TaskContextExecution.svg │ │ ├── TaskPeers2.svg │ │ ├── UpdateStepDetail.svg │ │ ├── app-directories.svg │ │ ├── computer_screen.jpg │ │ ├── fdi.dia │ │ ├── front-logos2.svg │ │ ├── gear-image.png │ │ ├── icons │ │ │ ├── ChangeLog │ │ │ ├── blank.jpg │ │ │ ├── blank.png │ │ │ ├── callouts │ │ │ │ ├── 1.gif │ │ │ │ ├── 1.jpg │ │ │ │ ├── 1.png │ │ │ │ ├── 10.gif │ │ │ │ ├── 10.jpg │ │ │ │ ├── 10.png │ │ │ │ ├── 11.gif │ │ │ │ ├── 11.jpg │ │ │ │ ├── 11.png │ │ │ │ ├── 12.gif │ │ │ │ ├── 12.jpg │ │ │ │ ├── 12.png │ │ │ │ ├── 13.gif │ │ │ │ ├── 13.jpg │ │ │ │ ├── 13.png │ │ │ │ ├── 14.gif │ │ │ │ ├── 14.jpg │ │ │ │ ├── 14.png │ │ │ │ ├── 15.gif │ │ │ │ ├── 15.jpg │ │ │ │ ├── 15.png │ │ │ │ ├── 2.gif │ │ │ │ ├── 2.jpg │ │ │ │ ├── 2.png │ │ │ │ ├── 3.gif │ │ │ │ ├── 3.jpg │ │ │ │ ├── 3.png │ │ │ │ ├── 4.gif │ │ │ │ ├── 4.jpg │ │ │ │ ├── 4.png │ │ │ │ ├── 5.gif │ │ │ │ ├── 5.jpg │ │ │ │ ├── 5.png │ │ │ │ ├── 6.gif │ │ │ │ ├── 6.jpg │ │ │ │ ├── 6.png │ │ │ │ ├── 7.gif │ │ │ │ ├── 7.jpg │ │ │ │ ├── 7.png │ │ │ │ ├── 8.gif │ │ │ │ ├── 8.jpg │ │ │ │ ├── 8.png │ │ │ │ ├── 9.gif │ │ │ │ ├── 9.jpg │ │ │ │ ├── 9.png │ │ │ │ └── ChangeLog │ │ │ ├── caution.gif │ │ │ ├── caution.jpg │ │ │ ├── caution.png │ │ │ ├── caution.svg │ │ │ ├── copyright │ │ │ ├── draft.jpg │ │ │ ├── draft.png │ │ │ ├── home.gif │ │ │ ├── home.jpg │ │ │ ├── home.png │ │ │ ├── home.svg │ │ │ ├── important.gif │ │ │ ├── important.jpg │ │ │ ├── important.png │ │ │ ├── important.svg │ │ │ ├── next.gif │ │ │ ├── next.jpg │ │ │ ├── next.png │ │ │ ├── next.svg │ │ │ ├── note.gif │ │ │ ├── note.jpg │ │ │ ├── note.png │ │ │ ├── note.svg │ │ │ ├── prev.gif │ │ │ ├── prev.jpg │ │ │ ├── prev.png │ │ │ ├── prev.svg │ │ │ ├── tip.gif │ │ │ ├── tip.jpg │ │ │ ├── tip.png │ │ │ ├── tip.svg │ │ │ ├── toc-blank.jpg │ │ │ ├── toc-blank.png │ │ │ ├── toc-minus.jpg │ │ │ ├── toc-minus.png │ │ │ ├── toc-plus.jpg │ │ │ ├── toc-plus.png │ │ │ ├── up.gif │ │ │ ├── up.jpg │ │ │ ├── up.png │ │ │ ├── up.svg │ │ │ ├── warning.gif │ │ │ ├── warning.jpg │ │ │ ├── warning.png │ │ │ └── warning.svg │ │ ├── properties.svg │ │ ├── red-car.png │ │ ├── robot.png │ │ ├── scriptingExample.svg │ │ ├── services-and-operations.svg │ │ ├── services-and-requests.svg │ │ ├── small-app-package.svg │ │ └── toolkit.png │ ├── orocos-applications-manual.xml │ ├── orocos-components-manual.xml │ ├── orocos-corelib-devel.xml │ ├── orocos-corelib.xml │ ├── orocos-device-interface.xml │ ├── orocos-faq.xml │ ├── orocos-installation.xml │ ├── orocos-kdl-plugin.xml │ ├── orocos-ocl-intro.xml │ ├── orocos-os.xml │ ├── orocos-overview-devel.xml │ ├── orocos-overview.xml │ ├── orocos-rtt-changes.xml │ ├── orocos-rtt-plugins.xml │ ├── orocos-rtt-scripting.xml │ ├── orocos-task-context.xml │ ├── orocos-transports-corba.xml │ ├── orocos-transports-mqueue.xml │ ├── orocos-typekit-plugin.xml │ ├── orocos-user-manual.xml │ └── orocos.ent.in └── xsl │ ├── orocos-chunk.xsl │ ├── orocos-html.xsl │ ├── orocos-pdf.xsl │ ├── orocos-website.xsl │ └── xsltsl-1.2.1 │ ├── cmp.xsl │ ├── date-time.xsl │ ├── example.xsl │ ├── markup.xsl │ ├── math.xsl │ ├── node.xsl │ ├── stdlib.xsl │ ├── string.xsl │ ├── svg.xsl │ └── uri.xsl ├── env-hooks └── 00.rtt.sh.in ├── manifest.xml ├── orocos-rtt-config-version.cmake.in ├── orocos-rtt-config.cmake ├── orocos-rtt-config.cmake.in ├── orocos-rtt.default.cmake ├── package.xml ├── rtt ├── .gitignore ├── Activity.cpp ├── Activity.hpp ├── ArgumentDescription.cpp ├── ArgumentDescription.hpp ├── Attribute.cpp ├── Attribute.hpp ├── BufferPolicy.cpp ├── BufferPolicy.hpp ├── CMakeLists.txt ├── Component.hpp ├── ConfigurationInterface.cpp ├── ConfigurationInterface.hpp ├── ConnPolicy.cpp ├── ConnPolicy.hpp ├── DataFlowInterface.cpp ├── DataFlowInterface.hpp ├── ExecutionEngine.cpp ├── ExecutionEngine.hpp ├── FactoryExceptions.cpp ├── FactoryExceptions.hpp ├── FlowStatus.cpp ├── FlowStatus.hpp ├── Handle.cpp ├── Handle.hpp ├── InputPort.hpp ├── Logger.cpp ├── Logger.hpp ├── Logger.inl ├── Operation.cpp ├── Operation.hpp ├── OperationCaller.hpp ├── OperationInterface.cpp ├── OperationInterface.hpp ├── OperationInterfacePart.hpp ├── OutputPort.hpp ├── Port.hpp ├── Property.cpp ├── Property.hpp ├── PropertyBag.cpp ├── PropertyBag.hpp ├── RTT.hpp ├── SendHandle.hpp ├── SendStatus.cpp ├── SendStatus.hpp ├── Service.cpp ├── Service.hpp ├── ServiceRequester.cpp ├── ServiceRequester.hpp ├── TaskContext.cpp ├── TaskContext.hpp ├── Time.hpp ├── base │ ├── ActionInterface.cpp │ ├── ActionInterface.hpp │ ├── ActivityInterface.cpp │ ├── ActivityInterface.hpp │ ├── AttributeBase.hpp │ ├── Buffer.hpp │ ├── BufferBase.cpp │ ├── BufferBase.hpp │ ├── BufferInterface.hpp │ ├── BufferLockFree.cpp │ ├── BufferLockFree.hpp │ ├── BufferLocked.hpp │ ├── BufferUnSync.hpp │ ├── Buffers.hpp │ ├── CMakeLists.txt │ ├── ChannelElement.hpp │ ├── ChannelElementBase.hpp │ ├── ChannelInterface.cpp │ ├── CoreRunnableInterface.cpp │ ├── DataObject.hpp │ ├── DataObjectBase.cpp │ ├── DataObjectBase.hpp │ ├── DataObjectInterface.hpp │ ├── DataObjectLockFree.hpp │ ├── DataObjectLocked.hpp │ ├── DataObjectUnSync.hpp │ ├── DataSourceBase.hpp │ ├── DisposableInterface.hpp │ ├── ExecutableInterface.hpp │ ├── InputPortInterface.cpp │ ├── InputPortInterface.hpp │ ├── OperationBase.cpp │ ├── OperationBase.hpp │ ├── OperationCallerBase.hpp │ ├── OperationCallerBaseInvoker.hpp │ ├── OperationCallerInterface.cpp │ ├── OperationCallerInterface.hpp │ ├── OutputPortInterface.cpp │ ├── OutputPortInterface.hpp │ ├── PortInterface.cpp │ ├── PortInterface.hpp │ ├── PropertyBagVisitor.cpp │ ├── PropertyBagVisitor.hpp │ ├── PropertyBase.cpp │ ├── PropertyBase.hpp │ ├── PropertyIntrospection.hpp │ ├── PropertyIntrospection.inl │ ├── RunnableInterface.hpp │ ├── TaskCore.cpp │ ├── TaskCore.hpp │ └── rtt-base-fwd.hpp ├── deployment │ ├── .gitignore │ ├── CMakeLists.txt │ ├── ComponentLoader.cpp │ ├── ComponentLoader.hpp │ └── comppath.cpp.in ├── extras │ ├── Activities.hpp │ ├── CMakeLists.txt │ ├── Execution.hpp │ ├── FileDescriptorActivity.cpp │ ├── FileDescriptorActivity.hpp │ ├── FileDescriptorActivityInterface.hpp │ ├── FileDescriptorSimulationActivity.cpp │ ├── FileDescriptorSimulationActivity.hpp │ ├── IRQActivity.cpp │ ├── IRQActivity.hpp │ ├── MultiVector.cpp │ ├── MultiVector.hpp │ ├── MultiVectorComposition.hpp │ ├── Orocos.Main.hpp │ ├── PeriodicActivity.cpp │ ├── PeriodicActivity.hpp │ ├── Properties.hpp │ ├── ReadOnlyPointer.hpp │ ├── SequentialActivity.cpp │ ├── SequentialActivity.hpp │ ├── SimulationActivity.cpp │ ├── SimulationActivity.hpp │ ├── SimulationThread.cpp │ ├── SimulationThread.hpp │ ├── SlaveActivity.cpp │ ├── SlaveActivity.hpp │ ├── TaskContexts.hpp │ ├── TimerThread.cpp │ ├── TimerThread.hpp │ ├── dev │ │ ├── AnalogInInterface.hpp │ │ ├── AnalogInput.hpp │ │ ├── AnalogOutInterface.hpp │ │ ├── AnalogOutput.hpp │ │ ├── AxisInterface.cpp │ │ ├── AxisInterface.hpp │ │ ├── CMakeLists.txt │ │ ├── CalibrationInterface.hpp │ │ ├── DeviceInterface.hpp │ │ ├── DigitalInInterface.hpp │ │ ├── DigitalInput.hpp │ │ ├── DigitalOutInterface.hpp │ │ ├── DigitalOutput.hpp │ │ ├── DriveInterface.hpp │ │ ├── EncoderInterface.cpp │ │ ├── EncoderInterface.hpp │ │ ├── HomingInterface.cpp │ │ ├── HomingInterface.hpp │ │ ├── NameServer.hpp │ │ ├── NameServerRegistrator.hpp │ │ ├── PulseTrainGeneratorInterface.cpp │ │ ├── PulseTrainGeneratorInterface.hpp │ │ ├── SensorInterface.cpp │ │ ├── SensorInterface.hpp │ │ ├── io.cpp │ │ └── rtt-dev-fwd.hpp │ └── rtt-extras-fwd.hpp ├── internal │ ├── ArrayPartDataSource.hpp │ ├── AssignCommand.hpp │ ├── AtomicMWMRQueue.hpp │ ├── AtomicMWSRQueue.hpp │ ├── AtomicQueue.hpp │ ├── BindStorage.hpp │ ├── CMakeLists.txt │ ├── CatchConfig.cpp │ ├── CatchConfig.hpp │ ├── ChannelBufferElement.hpp │ ├── ChannelDataElement.hpp │ ├── Channels.hpp │ ├── Collect.hpp │ ├── CollectBase.hpp │ ├── CollectSignature.hpp │ ├── ConnFactory.cpp │ ├── ConnFactory.hpp │ ├── ConnID.cpp │ ├── ConnID.hpp │ ├── ConnInputEndPoint.hpp │ ├── ConnOutputEndPoint.hpp │ ├── ConnectionManager.cpp │ ├── ConnectionManager.hpp │ ├── CreateSequence.hpp │ ├── DataObjectDataSource.hpp │ ├── DataSource.cpp │ ├── DataSource.hpp │ ├── DataSource.inl │ ├── DataSourceCommand.cpp │ ├── DataSourceCommand.hpp │ ├── DataSourceGenerator.hpp │ ├── DataSourceStorage.hpp │ ├── DataSourceTypeInfo.hpp │ ├── DataSourceTypeInfo.inl │ ├── DataSources.cpp │ ├── DataSources.hpp │ ├── DataSources.inl │ ├── Exceptions.hpp │ ├── FusedFunctorDataSource.hpp │ ├── GetSignature.hpp │ ├── GlobalEngine.cpp │ ├── GlobalEngine.hpp │ ├── GlobalService.cpp │ ├── GlobalService.hpp │ ├── InputPortSource.hpp │ ├── Invoker.hpp │ ├── InvokerBase.hpp │ ├── InvokerSignature.hpp │ ├── List.hpp │ ├── ListLockFree.cpp │ ├── ListLockFree.hpp │ ├── ListLocked.hpp │ ├── LocalOperationCaller.hpp │ ├── LockedQueue.hpp │ ├── MWSRQueue.hpp │ ├── NA.hpp │ ├── OperationCallerBinder.hpp │ ├── OperationCallerC.cpp │ ├── OperationCallerC.hpp │ ├── OperationInterfacePartFused.cpp │ ├── OperationInterfacePartFused.hpp │ ├── PartDataSource.hpp │ ├── PortConnectionLock.hpp │ ├── Processors.hpp │ ├── Queue.hpp │ ├── Reference.hpp │ ├── RemoteOperationCaller.hpp │ ├── Return.hpp │ ├── ReturnBase.hpp │ ├── ReturnSignature.hpp │ ├── SendHandleC.cpp │ ├── SendHandleC.hpp │ ├── SharedConnection.cpp │ ├── SharedConnection.hpp │ ├── Signal.hpp │ ├── SignalBase.cpp │ ├── SignalBase.hpp │ ├── TsPool.hpp │ ├── UnMember.hpp │ ├── carray.hpp │ ├── mystd.hpp │ ├── rtt-internal-fwd.hpp │ ├── signal0.hpp │ ├── signal1.hpp │ ├── signal2.hpp │ ├── signal3.hpp │ ├── signal4.hpp │ ├── signal5.hpp │ ├── signal6.hpp │ ├── signal7.hpp │ ├── signal_template.hpp │ ├── signature0.hpp │ ├── signature1.hpp │ ├── signature2.hpp │ ├── signature3.hpp │ ├── signature4.hpp │ ├── signature5.hpp │ ├── signature6.hpp │ ├── signature7.hpp │ └── signature_template.hpp ├── marsh │ ├── CMakeLists.txt │ ├── CPFDTD.cpp │ ├── CPFDTD.hpp │ ├── CPFDemarshaller.cpp │ ├── CPFDemarshaller.hpp │ ├── CPFMarshaller.cpp │ ├── CPFMarshaller.hpp │ ├── MarshallInterface.hpp │ ├── Marshalling.cpp │ ├── Marshalling.hpp │ ├── MarshallingService.cpp │ ├── MarshallingService.hpp │ ├── PropertyBagIntrospector.cpp │ ├── PropertyBagIntrospector.hpp │ ├── PropertyDemarshaller.cpp │ ├── PropertyDemarshaller.hpp │ ├── PropertyLoader.cpp │ ├── PropertyLoader.hpp │ ├── PropertyMarshaller.cpp │ ├── PropertyMarshaller.hpp │ ├── StreamProcessor.hpp │ ├── TinyDemarshaller.cpp │ ├── TinyDemarshaller.hpp │ ├── XMLRPCDemarshaller.hpp │ ├── XMLRPCMarshaller.hpp │ ├── rtt-marsh-config.h.in │ ├── rtt-marsh-fwd.hpp │ ├── tinystr.cpp │ ├── tinystr.h │ ├── tinyxml.cpp │ ├── tinyxml.h │ ├── tinyxmlerror.cpp │ └── tinyxmlparser.cpp ├── orocos-rtt.pc.in ├── os │ ├── Atomic.hpp │ ├── CAS.hpp │ ├── CMakeLists.txt │ ├── Condition.hpp │ ├── MainThread.cpp │ ├── MainThread.hpp │ ├── Mutex.cpp │ ├── Mutex.hpp │ ├── MutexLock.hpp │ ├── OS.hpp │ ├── Semaphore.hpp │ ├── StartStopManager.cpp │ ├── StartStopManager.hpp │ ├── Thread.cpp │ ├── Thread.hpp │ ├── ThreadInterface.cpp │ ├── ThreadInterface.hpp │ ├── Time.hpp │ ├── TimeService.cpp │ ├── TimeService.hpp │ ├── Timer.cpp │ ├── Timer.hpp │ ├── ecos │ │ ├── CMakeLists.txt │ │ ├── ecos.cdl │ │ ├── ecos.h │ │ ├── ecos_rec_mutex.c │ │ ├── ecos_rec_mutex.h │ │ ├── ecosthreads.cpp │ │ ├── fosi.c │ │ ├── fosi.h │ │ ├── fosi_internal.cpp │ │ └── os_ecos.h │ ├── exceptions.cpp │ ├── fosi.h │ ├── fosi_interface.h │ ├── fosi_internal_interface.hpp │ ├── gnulinux │ │ ├── CMakeLists.txt │ │ ├── fosi.c │ │ ├── fosi.h │ │ ├── fosi_internal.cpp │ │ ├── gnulinux.h │ │ ├── gnuthreads.cpp │ │ └── traces │ │ │ ├── CMakeLists.txt │ │ │ ├── lttng_ust.c │ │ │ ├── lttng_ust.h │ │ │ └── lttng_ust.tp │ ├── lxrt │ │ ├── CMakeLists.txt │ │ ├── fosi.c │ │ ├── fosi.h │ │ ├── fosi_internal.cpp │ │ ├── lxrt.h │ │ └── lxrtthreads.cpp │ ├── macosx │ │ ├── CMakeLists.txt │ │ ├── fosi.c │ │ ├── fosi.h │ │ ├── fosi_internal.cpp │ │ ├── gnuthreads.cpp │ │ └── macosx.h │ ├── main.h │ ├── oro_allocator.hpp │ ├── oro_arch.h │ ├── oro_arch_interface.h │ ├── oro_gcc │ │ ├── CMakeLists.txt │ │ └── oro_arch.h │ ├── oro_i386 │ │ ├── CMakeLists.txt │ │ └── oro_arch.h │ ├── oro_limits.h │ ├── oro_malloc.h │ ├── oro_msvc │ │ ├── CMakeLists.txt │ │ └── oro_arch.h │ ├── oro_noasm │ │ ├── CMakeLists.txt │ │ └── oro_arch.h │ ├── oro_powerpc │ │ ├── CMakeLists.txt │ │ ├── oro_arch.h │ │ ├── oro_atomic.h │ │ └── oro_system.h │ ├── oro_x86_64 │ │ ├── CMakeLists.txt │ │ └── oro_arch.h │ ├── rint.cpp │ ├── rint.h │ ├── rt_list.hpp │ ├── rtconversions.cpp │ ├── rtconversions.hpp │ ├── rtstreambufs.hpp │ ├── rtstreams.cpp │ ├── rtstreams.hpp │ ├── rtt-os-fwd.hpp │ ├── startstop.cpp │ ├── startstop.h │ ├── targets │ │ ├── CMakeLists.txt │ │ ├── README │ │ ├── rtt-target.h.in │ │ └── target-config.h.in │ ├── threads.cpp │ ├── threads.hpp │ ├── tlsf │ │ ├── COPYING │ │ ├── GPL.txt │ │ ├── LGPL-2.1.txt │ │ ├── Makefile │ │ ├── target.h │ │ ├── tlsf.c │ │ └── tlsf.h │ ├── traces.h │ ├── win32 │ │ ├── CMakeLists.txt │ │ ├── dlfcn.c │ │ ├── dlfcn.h │ │ ├── fosi.cpp │ │ ├── fosi.h │ │ ├── fosi_internal.cpp │ │ ├── win32.h │ │ └── winthreads.cpp │ └── xenomai │ │ ├── CMakeLists.txt │ │ ├── fosi.c │ │ ├── fosi.h │ │ ├── fosi_internal.cpp │ │ ├── xenomai.h │ │ └── xenothreads.cpp ├── plugin │ ├── .gitignore │ ├── CMakeLists.txt │ ├── Plugin.cpp │ ├── Plugin.hpp │ ├── PluginLoader.cpp │ ├── PluginLoader.hpp │ ├── ServicePlugin.hpp │ ├── pluginpath.cpp.in │ └── rtt-plugin-fwd.hpp ├── rt_string.cpp ├── rt_string.hpp ├── rtt-config.h.in ├── rtt-detail-fwd.hpp ├── rtt-fwd.hpp ├── scripting │ ├── ArgumentsParser.cpp │ ├── ArgumentsParser.hpp │ ├── CMakeLists.txt │ ├── CallFunction.hpp │ ├── CommandBinary.hpp │ ├── CommandComposite.hpp │ ├── CommandCounter.cpp │ ├── CommandCounter.hpp │ ├── CommandDataSource.hpp │ ├── CommandFunctors.hpp │ ├── CommandIllegal.cpp │ ├── CommandIllegal.hpp │ ├── CommandNOP.cpp │ ├── CommandNOP.hpp │ ├── CommandString.cpp │ ├── CommandString.hpp │ ├── CommonParser.cpp │ ├── CommonParser.hpp │ ├── ConditionBool.cpp │ ├── ConditionBool.hpp │ ├── ConditionBoolDataSource.cpp │ ├── ConditionBoolDataSource.hpp │ ├── ConditionBoolProperty.cpp │ ├── ConditionBoolProperty.hpp │ ├── ConditionCache.hpp │ ├── ConditionCompare.hpp │ ├── ConditionComposite.cpp │ ├── ConditionComposite.hpp │ ├── ConditionDSDuration.cpp │ ├── ConditionDSDuration.hpp │ ├── ConditionDuration.cpp │ ├── ConditionDuration.hpp │ ├── ConditionExpire.hpp │ ├── ConditionFalse.hpp │ ├── ConditionInterface.cpp │ ├── ConditionInterface.hpp │ ├── ConditionInvert.hpp │ ├── ConditionOnce.cpp │ ├── ConditionOnce.hpp │ ├── ConditionParser.cpp │ ├── ConditionParser.hpp │ ├── ConditionTrue.hpp │ ├── DataSourceCondition.cpp │ ├── DataSourceCondition.hpp │ ├── DataSourceTime.hpp │ ├── DumpObject.cpp │ ├── DumpObject.hpp │ ├── EdgeCondition.cpp │ ├── EdgeCondition.hpp │ ├── ExpressionParser.cpp │ ├── ExpressionParser.hpp │ ├── FunctionFactory.cpp │ ├── FunctionFactory.hpp │ ├── FunctionGraph.cpp │ ├── FunctionGraph.hpp │ ├── FunctionGraphBuilder.cpp │ ├── FunctionGraphBuilder.hpp │ ├── GraphCopier.hpp │ ├── ParsedStateMachine.cpp │ ├── ParsedStateMachine.hpp │ ├── Parser.Main.hpp │ ├── Parser.cpp │ ├── Parser.hpp │ ├── PeerParser.cpp │ ├── PeerParser.hpp │ ├── ProgramExceptions.hpp │ ├── ProgramGraphParser.cpp │ ├── ProgramGraphParser.hpp │ ├── ProgramGraphParser2.cpp │ ├── ProgramInterface.cpp │ ├── ProgramInterface.hpp │ ├── ProgramService.cpp │ ├── ProgramService.hpp │ ├── PropertyParser.cpp │ ├── PropertyParser.hpp │ ├── ScriptParser.cpp │ ├── ScriptParser.hpp │ ├── Scripting.cpp │ ├── Scripting.hpp │ ├── ScriptingService.cpp │ ├── ScriptingService.hpp │ ├── SendHandleAlias.cpp │ ├── SendHandleAlias.hpp │ ├── StateDescription.cpp │ ├── StateDescription.hpp │ ├── StateGraphParser.cpp │ ├── StateGraphParser.hpp │ ├── StateInterface.cpp │ ├── StateInterface.hpp │ ├── StateMachine.cpp │ ├── StateMachine.hpp │ ├── StateMachineBuilder.cpp │ ├── StateMachineBuilder.hpp │ ├── StateMachineService.cpp │ ├── StateMachineService.hpp │ ├── StatementProcessor.cpp │ ├── StatementProcessor.hpp │ ├── TryCommand.cpp │ ├── TryCommand.hpp │ ├── ValueChangeParser.cpp │ ├── ValueChangeParser.hpp │ ├── ValueParser.cpp │ ├── ValueParser.hpp │ ├── VertexNode.cpp │ ├── VertexNode.hpp │ ├── parse_exception.cpp │ ├── parse_exception.hpp │ ├── parser-debug.hpp │ ├── parser-types.hpp │ ├── rtt-scripting-config.h.in │ └── rtt-scripting-fwd.hpp ├── transports │ ├── corba │ │ ├── AnyDataSource.cpp │ │ ├── AnyDataSource.hpp │ │ ├── ApplicationServer.cpp │ │ ├── ApplicationServer.hpp │ │ ├── CMakeLists.txt │ │ ├── ConfigurationInterface.idl │ │ ├── ConfigurationInterfaceI.cpp │ │ ├── ConfigurationInterfaceI.h │ │ ├── Corba.hpp │ │ ├── CorbaConnPolicy.cpp │ │ ├── CorbaConnPolicy.hpp │ │ ├── CorbaConversion.cpp │ │ ├── CorbaConversion.hpp │ │ ├── CorbaDispatcher.cpp │ │ ├── CorbaDispatcher.hpp │ │ ├── CorbaLib.cpp │ │ ├── CorbaLib.hpp │ │ ├── CorbaOperationCallerFactory.cpp │ │ ├── CorbaOperationCallerFactory.hpp │ │ ├── CorbaTemplateProtocol.hpp │ │ ├── CorbaTypeTransporter.cpp │ │ ├── CorbaTypeTransporter.hpp │ │ ├── DataFlow.idl │ │ ├── DataFlowI.cpp │ │ ├── DataFlowI.h │ │ ├── DataSourceProxy.hpp │ │ ├── OperationCallerProxy.hpp │ │ ├── OperationInterface.idl │ │ ├── OperationInterfaceI.cpp │ │ ├── OperationInterfaceI.h │ │ ├── OrocosTypes.idl │ │ ├── POAUtility.cpp │ │ ├── POAUtility.h │ │ ├── RTTCorbaConversion.hpp │ │ ├── RemoteChannelElement.hpp │ │ ├── RemoteConnID.cpp │ │ ├── RemoteConnID.hpp │ │ ├── RemotePorts.cpp │ │ ├── RemotePorts.hpp │ │ ├── Service.idl │ │ ├── ServiceI.cpp │ │ ├── ServiceI.h │ │ ├── ServiceRequester.idl │ │ ├── ServiceRequesterI.cpp │ │ ├── ServiceRequesterI.h │ │ ├── StdException.idl │ │ ├── TaskContext.idl │ │ ├── TaskContextFactory.cpp │ │ ├── TaskContextFactory.hpp │ │ ├── TaskContextI.cpp │ │ ├── TaskContextI.h │ │ ├── TaskContextProxy.cpp │ │ ├── TaskContextProxy.hpp │ │ ├── TaskContextServer.cpp │ │ ├── TaskContextServer.hpp │ │ ├── TransportPlugin.hpp │ │ ├── corba.h │ │ ├── orocos-rtt-corba.pc.in │ │ ├── rtt-corba-config.h.in │ │ └── rtt-corba-fwd.hpp │ └── mqueue │ │ ├── CMakeLists.txt │ │ ├── Dispatcher.cpp │ │ ├── Dispatcher.hpp │ │ ├── MQChannelElement.hpp │ │ ├── MQLib.cpp │ │ ├── MQLib.hpp │ │ ├── MQSendRecv.cpp │ │ ├── MQSendRecv.hpp │ │ ├── MQSerializationProtocol.hpp │ │ ├── MQTemplateProtocol.hpp │ │ ├── MQTemplateProtocolBase.hpp │ │ ├── TransportPlugin.hpp │ │ ├── binary_data_archive.hpp │ │ ├── orocos-rtt-mqueue.pc.in │ │ ├── rtt-mqueue-config.h.in │ │ └── rtt-mqueue-fwd.hpp ├── typekit │ ├── BoolTypeInfo.hpp │ ├── CMakeLists.txt │ ├── ConnPolicyType.hpp │ ├── RTStringTypeInfo.hpp │ ├── RTTTypes.hpp │ ├── RealTimeTypekit.cpp │ ├── RealTimeTypekit.hpp │ ├── RealTimeTypekitConstructors.cpp │ ├── RealTimeTypekitGlobals.cpp │ ├── RealTimeTypekitOperators.cpp │ ├── RealTimeTypekitStdTypes.cpp │ ├── RealTimeTypekitTypes.cpp │ ├── RealTimeTypekitTypes2.cpp │ ├── StdStringTypeInfo.hpp │ ├── StdTypeInfo.hpp │ ├── StdVectorTypeInfo.hpp │ ├── Types.hpp │ ├── Types.inc │ ├── Types2.inc │ └── rtt-typekit-config.h.in └── types │ ├── BoostArrayTypeInfo.hpp │ ├── CArrayTypeInfo.hpp │ ├── CMakeLists.txt │ ├── CompositionFactory.cpp │ ├── CompositionFactory.hpp │ ├── EnumTypeInfo.hpp │ ├── GlobalsRepository.cpp │ ├── GlobalsRepository.hpp │ ├── MemberFactory.cpp │ ├── MemberFactory.hpp │ ├── OperatorTypes.hpp │ ├── Operators.cpp │ ├── Operators.hpp │ ├── PrimitiveSequenceTypeInfo.hpp │ ├── PrimitiveTypeInfo.hpp │ ├── PropertyComposition.cpp │ ├── PropertyComposition.hpp │ ├── PropertyDecomposition.cpp │ ├── PropertyDecomposition.hpp │ ├── SequenceConstructor.hpp │ ├── SequenceTypeInfo.hpp │ ├── SequenceTypeInfoBase.cpp │ ├── SequenceTypeInfoBase.hpp │ ├── StdVectorTemplateTypeInfo.hpp │ ├── StreamFactory.cpp │ ├── StreamFactory.hpp │ ├── StructTypeInfo.hpp │ ├── TemplateCompositionFactory.hpp │ ├── TemplateConnFactory.hpp │ ├── TemplateConstructor.hpp │ ├── TemplateTypeInfo.hpp │ ├── TemplateValueFactory.hpp │ ├── TransportPlugin.hpp │ ├── TypeConstructor.cpp │ ├── TypeConstructor.hpp │ ├── TypeInfo.cpp │ ├── TypeInfo.hpp │ ├── TypeInfoGenerator.hpp │ ├── TypeInfoName.hpp │ ├── TypeInfoRepository.cpp │ ├── TypeInfoRepository.hpp │ ├── TypeMarshaller.hpp │ ├── TypeStream-io.cpp │ ├── TypeStream-io.hpp │ ├── TypeStream.cpp │ ├── TypeStream.hpp │ ├── TypeStreamSelector.hpp │ ├── TypeTransporter.hpp │ ├── TypekitPlugin.hpp │ ├── TypekitRepository.cpp │ ├── TypekitRepository.hpp │ ├── Types.cpp │ ├── Types.hpp │ ├── ValueFactory.cpp │ ├── ValueFactory.hpp │ ├── VectorTemplateComposition.hpp │ ├── carray.hpp │ ├── rtt-types-fwd.hpp │ └── type_discovery.hpp ├── tests ├── .gitignore ├── AddUnitTest.cmake ├── CMakeLists.txt ├── FakeAnalogDevice.hpp ├── FakeDigitalDevice.hpp ├── buffers_test.cpp ├── channelelements_test.cpp ├── cleanup_corba.cpp ├── configuration_test.cpp ├── corba_ipc_server.cpp ├── corba_ipc_test.cpp ├── corba_mqueue_ipc_server.cpp ├── corba_mqueue_ipc_test.cpp ├── corba_mqueue_test.cpp ├── corba_mqueue_test.hpp ├── corba_test.cpp ├── dataflow_performance_test.cpp ├── datasource_fixture.cpp ├── datasource_fixture.hpp ├── datasource_test.cpp ├── dev_test.cpp ├── dev_test.hpp ├── dispatch_test.cpp ├── dispatch_test.hpp ├── enum_string_type_test.cpp ├── enum_type_test.cpp ├── event_test.cpp ├── function_test.cpp ├── functors_test.cpp ├── generictask_test.cpp ├── generictask_test.hpp ├── listlocked_test.cpp ├── logger_test.cpp ├── logger_test.hpp ├── marshalling_test.cpp ├── method_test.cpp ├── mqueue_archive_test.cpp ├── mqueue_ipc_server.cpp ├── mqueue_ipc_test.cpp ├── mqueue_test.cpp ├── operation_test.cpp ├── operations_fixture.cpp ├── operations_fixture.hpp ├── operations_fixture0.cpp ├── operations_fixture1.cpp ├── operations_fixture2.cpp ├── operations_fixture3.cpp ├── operations_fixture4.cpp ├── operations_fixture5.cpp ├── operations_fixture6.cpp ├── operations_fixture7.cpp ├── plugins_test.cpp ├── ports_test.cpp ├── program_test.cpp ├── property_composition_test.cpp ├── property_loader_test.cpp ├── property_loading.cpf ├── property_marsh_test.cpp ├── property_test.cpp ├── ptr_test.cpp ├── ptr_test.hpp ├── remote_method_test.cpp ├── rtstring_test.cpp ├── scripting_test.cpp ├── service_port_test.cpp ├── service_test.cpp ├── setup_corba.cpp ├── slave_test.cpp ├── specialized_activities.cpp ├── specialized_activities.hpp ├── state_test.cpp ├── tasks_multiple_test.cpp ├── tasks_multiple_test.hpp ├── tasks_test.cpp ├── tasks_test.hpp ├── taskstates_test.cpp ├── taskthread_fd_test.cpp ├── taskthread_test.cpp ├── taskthread_test.hpp ├── test-corba-main.cpp ├── test-main.cpp ├── test-runner-corba.cpp ├── test-runner.cpp ├── test-runner.hpp ├── testPropMarshVectLegacy.cpf ├── testproject │ ├── plugins │ │ ├── CMakeLists.txt │ │ ├── plugins_test_global_services.cpp │ │ └── plugins_test_services.cpp │ └── types │ │ ├── CMakeLists.txt │ │ └── plugins_test_types.cpp ├── testtypes │ ├── MatrixTypeInfo.hpp │ └── types │ │ ├── CMakeLists.txt │ │ ├── array_types.cpp │ │ ├── plugins_test_types.cpp │ │ ├── sequence_types.cpp │ │ └── struct_types.cpp ├── time_test.cpp ├── time_test.hpp ├── tlsf_test.cpp ├── type_discovery_container_test.cpp ├── type_discovery_struct_test.cpp ├── type_discovery_test.cpp ├── typekit_test.cpp ├── types_test.cpp ├── unit.hpp └── unit_test_suite.hpp └── tools ├── scripts ├── bisect-run ├── check-headers.sh ├── do-fwd.pl ├── gpl_header_gen.sh ├── header_gen.sh ├── header_gen_historic.sh ├── lgpl_header_gen.sh ├── release-docs.sh ├── release.sh ├── svn2log.py ├── update-headers.sh └── verify-headers.sh ├── svn-users.txt └── vim ├── README └── osd.vim /.gitignore: -------------------------------------------------------------------------------- 1 | build* 2 | install 3 | .cproject 4 | .project 5 | .settings 6 | *patch 7 | *.ior 8 | *.log 9 | *.gz 10 | *.bz2 11 | *~ 12 | class-dump.txt 13 | headers.txt 14 | *.sw? 15 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: required 2 | dist: trusty 3 | language: 4 | - cpp 5 | compiler: 6 | - gcc 7 | before_install: 8 | # Update package indexes and install dependencies 9 | - sudo apt-get update -qq 10 | - sudo apt-get install -qq -y libxml-xpath-perl libboost-all-dev omniorb omniidl omniorb-nameserver libomniorb4-dev pkg-config 11 | 12 | install: 13 | - export EXTRA_CMAKE_ARGS="-DENABLE_TESTS=ON -DENABLE_CORBA=ON -DCORBA_IMPLEMENTATION=OMNIORB" 14 | - export CFLAGS="-std=c99 -Wall -Wextra -Wno-unused-parameter" 15 | - export CXXFLAGS="-std=c++11 -Wall -Wextra -Wno-unused-parameter" 16 | - mkdir -p build && cd build 17 | - cmake .. -DCMAKE_INSTALL_PREFIX=$(pwd)/install $EXTRA_CMAKE_ARGS 18 | - make -j2 install 19 | 20 | script: 21 | # Run tests 22 | - export BOOST_TEST_LOG_LEVEL=message 23 | - export ORBtraceExceptions=1 24 | - make -j1 check 25 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | Peter Soetens ( Peter.Soetens@mech.kuleuven.ac.be ) 2 | Takis Issaris ( Panagiotis.Issaris@mech.kuleuven.ac.be ) 3 | Herman Bruyninckx ( Herman.Bruyninckx@mech.kuleuven.ac.be ) 4 | 5 | With Contributions (bugfixes/reports, code, feedback) 6 | from (alphabetically): 7 | 8 | Christophe Devriese ( Christophe.Devriese@student.kuleuven.ac.be ) 9 | Dominique Devriese ( Dominique.Devriese@student.kuleuven.ac.be ) 10 | Filip Vancoillie ( Filip.Vancoillie@student.kuleuven.ac.be ) 11 | Ilse Cornelis ( Ilse.Cornelis@student.kuleuven.ac.be ) 12 | Jan Veldeman ( jan@mind.be ) 13 | Johan Rutgeerts ( Johan.Rutgeerts@mech.kuleuven.ac.be ) 14 | Koen Muylkens ( Koen.Muylkens@student.kuleuven.ac.be ) 15 | Klaas Gadeyne ( Klaas.Gadeyne@fmtc.be ) 16 | Renee Waarsing ( Rene.Waarsing@mech.kuleuven.ac.be ) 17 | Rob Loos ( Rob.Loos@student.kuleuven.ac.be ) 18 | Ronny Moreas ( Ronny.Moreas@mech.kuleuven.ac.be ) 19 | Sander Vandenbroucke ( Sander.Vandenbroucke@vandewiele.com ) 20 | Stefano & Andrea Consonni ( conandre@tin.it ) 21 | Walter Verdonck ( Walter.Verdonck@fmtc.be ) 22 | 23 | If you are missing from this file and feel you should be in 24 | it, please send a mail to : 25 | peter.soetens@mech.kuleuven.ac.be 26 | and I'll fix it, promise ! -------------------------------------------------------------------------------- /ChangeLog: -------------------------------------------------------------------------------- 1 | Changelogs can be tracked using the web-based svn access on 2 | http://gitorious.org/orocos-toolchain/rtt 3 | -------------------------------------------------------------------------------- /NEWS: -------------------------------------------------------------------------------- 1 | The Orocos Real-Time Toolkit v2.5.0 2 | =================================================== 3 | 4 | This is the fifth major release of the RTT 2.x release cycle. It is part of 5 | the Orocos Toolchain v2.5, see http://www.orocos.org/toolchain 6 | for all necessary information. 7 | 8 | ******************************************************************* 9 | * See the http://www.orocos.org website for all information * 10 | ******************************************************************* 11 | -------------------------------------------------------------------------------- /NO-WARRANTY: -------------------------------------------------------------------------------- 1 | (this is an excerpt of the COPYING file) 2 | 3 | NO WARRANTY 4 | 5 | 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO 6 | WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. 7 | EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR 8 | OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY 9 | KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE 10 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 11 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE 12 | LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME 13 | THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 14 | 15 | 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN 16 | WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY 17 | AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU 18 | FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR 19 | CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE 20 | LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING 21 | RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A 22 | FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF 23 | SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH 24 | DAMAGES. 25 | 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | ## The Orocos Real-Time Toolkit 3 | 4 | For installation, please see **The OROCOS Real-Time Toolkit Installation Guide** [[html]](https://orocos-toolchain.github.io/rtt/toolchain-2.9/xml/orocos-installation.html), [[pdf]](https://orocos-toolchain.github.io/rtt/toolchain-2.9/xml/orocos-installation.pdf) 5 | 6 | The newest version is 2.9, which is the same version described in this Installation Guide. 7 | -------------------------------------------------------------------------------- /config/CreatePCFlags.cmake: -------------------------------------------------------------------------------- 1 | 2 | # This macro converts CMake lists of defines, include dirs and link libraries to pkg-config 3 | # style defines, include directives and link directives. The first three arguments are inputs 4 | # The last three arguments are the outputs (any existing content in the output vars is deleted.) 5 | # The first three arguments MUST be lists passed as a single argument. 6 | # The last three arguments will be strings. 7 | # 8 | # Usage: create_pc_flags( "${INCLUDES}" "${LIBS}" PC_INCLUDES PC_LIBS ) 9 | macro( create_pc_flags CM_DEFINES CM_INCLUDES CM_LIBRARIES PC_DEFINES PC_INCLUDES PC_LIBRARIES ) 10 | set(${PC_DEFINES} "") 11 | set(${PC_INCLUDES} "") 12 | set(${PC_LIBRARIES} "") 13 | 14 | # MESSAGE("Got cmlibs: ${CM_LIBRARIES}") 15 | # MESSAGE("Got cmcflags: ${CM_INCLUDES}") 16 | # MESSAGE("Got cmdefs: ${CM_DEFINES}") 17 | 18 | # WARNING: WE HAVE TO STORE THE MACRO ARG IN A TEMP VAR, OTHERWISE, the while() is always false ! 19 | set(FOO ${CM_LIBRARIES}) 20 | 21 | while( FOO ) 22 | list(GET FOO 0 ITEM) 23 | list(REMOVE_AT FOO 0) 24 | #message("item: ${ITEM}") 25 | if( ITEM ) 26 | if( ITEM STREQUAL "debug") 27 | if( CMAKE_BUILD_TYPE STREQUAL "Debug" ) 28 | list(GET FOO 0 ITEM) 29 | list(REMOVE_AT FOO 0) 30 | else() 31 | list(REMOVE_AT FOO 0) 32 | set(ITEM "") 33 | endif() 34 | endif() 35 | if( ITEM STREQUAL "optimized") 36 | if( NOT CMAKE_BUILD_TYPE STREQUAL "Debug" ) 37 | list(GET FOO 0 ITEM) 38 | list(REMOVE_AT FOO 0) 39 | else() 40 | list(REMOVE_AT FOO 0) 41 | set(ITEM "") 42 | endif() 43 | endif() 44 | if( ITEM ) 45 | get_filename_component(PC_LIBPATH ${ITEM} PATH) 46 | get_filename_component(PC_LIB ${ITEM} NAME_WE) 47 | if (PC_LIBPATH AND PC_LIB) 48 | string(REPLACE "lib" "" PC_LIB ${PC_LIB}) 49 | set( ${PC_LIBRARIES} "${${PC_LIBRARIES}} -L${PC_LIBPATH} -l${PC_LIB}") 50 | else() 51 | set( ${PC_LIBRARIES} "${${PC_LIBRARIES}} -l${ITEM}") 52 | endif() 53 | endif() 54 | endif() 55 | endwhile() 56 | 57 | foreach( ITEM ${CM_INCLUDES}) 58 | if( ITEM AND NOT ${ITEM} STREQUAL "/usr/include") 59 | set( ${PC_INCLUDES} "${${PC_INCLUDES}} -I${ITEM}") 60 | endif() 61 | endforeach() 62 | 63 | foreach( ITEM ${CM_DEFINES}) 64 | if( ITEM ) 65 | set( ${PC_DEFINES} "${${PC_DEFINES}} -D${ITEM}") 66 | endif() 67 | endforeach() 68 | 69 | # MESSAGE("Computed pclibs: ${${PC_LIBRARIES}}") 70 | # MESSAGE("Computed pccflags: ${${PC_INCLUDES}}") 71 | # MESSAGE("Computed pcdefs: ${${PC_DEFINES}}") 72 | endmacro() 73 | -------------------------------------------------------------------------------- /config/FindACE.cmake: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # CMake script for finding ACE. 4 | # If the optional ACE_ROOT_DIR environment variable exists, header files and 5 | # libraries will be searched in the ACE_ROOT_DIR/include and ACE_ROOT_DIR/libs 6 | # directories, respectively. Otherwise the default CMake search process will be 7 | # used. 8 | # 9 | # This script creates the following variables: 10 | # ACE_FOUND: Boolean that indicates if the package was found 11 | # ACE_INCLUDE_DIRS: Paths to the necessary header files 12 | # ACE_LIBRARIES: Package libraries 13 | # ACE_LIBRARY_DIRS: Path to package libraries 14 | # 15 | ################################################################################ 16 | 17 | include(FindPackageHandleStandardArgs) 18 | 19 | # See if ACE_ROOT is not already set in CMake 20 | IF (NOT ACE_ROOT) 21 | # See if ACE_ROOT is set in process environment 22 | IF ( NOT $ENV{ACE_ROOT} STREQUAL "" ) 23 | SET (ACE_ROOT "$ENV{ACE_ROOT}") 24 | MESSAGE(STATUS "Detected ACE_ROOT set to '${ACE_ROOT}'") 25 | ENDIF () 26 | ENDIF () 27 | 28 | # If ACE_ROOT is available, set up our hints 29 | IF (ACE_ROOT) 30 | SET (ACE_INCLUDE_HINTS HINTS "${ACE_ROOT}/include" "${ACE_ROOT}") 31 | SET (ACE_LIBRARY_HINTS HINTS "${ACE_ROOT}/lib") 32 | ENDIF () 33 | 34 | # Find headers and libraries 35 | find_path(ACE_INCLUDE_DIR NAMES ace/ACE.h ${ACE_INCLUDE_HINTS}) 36 | find_library(ACE_LIBRARY NAMES ACE ${ACE_LIBRARY_HINTS}) 37 | find_library(ACED_LIBRARY NAMES ACE${CMAKE_DEBUG_POSTFIX} ${ACE_LIBRARY_HINTS}) 38 | # Set ACE_LIBRARY ala boost: debug;libdebug;optimized;lib 39 | if (ACE_LIBRARY) 40 | #message("ACE_LIBRARY found: ${ACE_LIBRARY}") 41 | SET(ACE_LIBRARY optimized ${ACE_LIBRARY}) 42 | else() 43 | SET(ACE_LIBRARY "") 44 | endif() 45 | if (ACED_LIBRARY) 46 | #message("ACED_LIBRARY found: ${ACED_LIBRARY}") 47 | SET(ACE_LIBRARY debug ${ACED_LIBRARY} ${ACE_LIBRARY}) 48 | endif() 49 | 50 | 51 | # Set ACE_FOUND honoring the QUIET and REQUIRED arguments 52 | find_package_handle_standard_args(ACE DEFAULT_MSG ACE_LIBRARY ACE_INCLUDE_DIR) 53 | 54 | # Output variables 55 | if(ACE_FOUND) 56 | # Include dirs 57 | set(ACE_INCLUDE_DIRS ${ACE_INCLUDE_DIR}) 58 | 59 | # Libraries 60 | set(ACE_LIBRARIES ${ACE_LIBRARY}) 61 | 62 | # Link dirs 63 | #get_filename_component(ACE_LIBRARY_DIRS ${ACE_LIBRARY} PATH) 64 | endif() 65 | 66 | # Advanced options for not cluttering the cmake UIs 67 | mark_as_advanced(ACE_INCLUDE_DIR ACE_LIBRARY) 68 | -------------------------------------------------------------------------------- /config/FindEcos.cmake: -------------------------------------------------------------------------------- 1 | 2 | # This macro is a dirty hack, Orocos specific. Don't base your macros on it, look into the other 3 | # Find*cmake files for better examples 4 | 5 | # This script creates the following variables: 6 | # Ecos_FOUND: Boolean that indicates if the package was found 7 | # Ecos_INCLUDE_DIRS: Paths to the necessary header files 8 | # Ecos_LIBRARIES: Package libraries 9 | 10 | set(ECOS_INSTALL_DIR ${ECOS_INSTALL_DIR} CACHE PATH "path to ecos installation dir" FORCE) 11 | 12 | if (ECOS_INSTALL_DIR STREQUAL "") 13 | set(ECOS_INSTALL_DIR "/opt/ecos/install") 14 | endif (ECOS_INSTALL_DIR STREQUAL "") 15 | 16 | if(EXISTS ${ECOS_INSTALL_DIR}/include/pkgconf/system.h) 17 | message("-- Looking for ECOS - found in ${ECOS_INSTALL_DIR}") 18 | set(ECOS_FOUND TRUE) 19 | set(ECOS_INCLUDE_DIRS ${ECOS_INSTALL_DIR}/include ) 20 | set(ECOS_LIBRARIES -L${ECOS_INSTALL_DIR}/lib -ltarget ) 21 | else() 22 | message(FATAL_ERROR "-- Looking for ECOS - not found (tried: ${ECOS_INSTALL_DIR}/include/pkgconf/system.h)") 23 | set(ECOS_FOUND FALSE) 24 | ENDIF() 25 | 26 | -------------------------------------------------------------------------------- /config/FindLcov.cmake: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # CMake script for finding lcov. 4 | # The default CMake search process is used to locate files. 5 | # 6 | # This script creates the following variables: 7 | # 8 | # LCOV_FOUND Boolean that indicates if the package was found 9 | # LCOV_LCOV_EXECUTABLE Where to find the 'lcov' tool 10 | # LCOV_GENHTML_EXECUTABLE Where to find the 'genhtml' tool 11 | # 12 | ################################################################################ 13 | 14 | include(FindPackageHandleStandardArgs) 15 | 16 | find_program(LCOV_LCOV_EXECUTABLE lcov) 17 | find_program(LCOV_GENHTML_EXECUTABLE genhtml) 18 | 19 | # Set LCOV_FOUND honoring the QUIET and REQUIRED arguments 20 | find_package_handle_standard_args(LCOV DEFAULT_MSG LCOV_LCOV_EXECUTABLE LCOV_GENHTML_EXECUTABLE) 21 | 22 | # Advanced options for not cluttering the cmake UIs 23 | mark_as_advanced(LCOV_LCOV_EXECUTABLE LCOV_GENHTML_EXECUTABLE) 24 | -------------------------------------------------------------------------------- /config/FindLog4cpp.cmake: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # CMake script for finding Log4cpp. 4 | # The default CMake search process is used to locate files. 5 | # 6 | # This script creates the following variables: 7 | # LOG4CPP_FOUND: Boolean that indicates if the package was found 8 | # LOG4CPP_INCLUDE_DIRS: Paths to the necessary header files 9 | # LOG4CPP_LIBRARIES: Package libraries 10 | # LOG4CPP_LIBRARY_DIRS: Path to package libraries 11 | # 12 | ################################################################################ 13 | 14 | include(FindPackageHandleStandardArgs) 15 | 16 | # Find headers and libraries 17 | find_path(LOG4CPP_INCLUDE_DIR NAMES log4cpp/Category.hh) 18 | find_library(LOG4CPP_LIBRARY NAMES log4cpp) 19 | 20 | # Set LOG4CPP_FOUND honoring the QUIET and REQUIRED arguments 21 | find_package_handle_standard_args(LOG4CPP DEFAULT_MSG LOG4CPP_LIBRARY LOG4CPP_INCLUDE_DIR) 22 | 23 | # Output variables 24 | if(LOG4CPP_FOUND) 25 | # Include dirs 26 | set(LOG4CPP_INCLUDE_DIRS ${LOG4CPP_INCLUDE_DIR}) 27 | 28 | # Libraries 29 | set(LOG4CPP_LIBRARIES ${LOG4CPP_LIBRARY}) 30 | 31 | # Link dirs 32 | get_filename_component(LOG4CPP_LIBRARY_DIRS ${LOG4CPP_LIBRARY} PATH) 33 | endif() 34 | 35 | # Advanced options for not cluttering the cmake UIs 36 | mark_as_advanced(LOG4CPP_INCLUDE_DIR LOG4CPP_LIBRARY) 37 | -------------------------------------------------------------------------------- /config/FindPthread.cmake: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # CMake script for finding libpthread/pthread.h 4 | # If the optional PTHREAD_ROOT_DIR environment variable exists, header files and 5 | # libraries will be searched in the PTHREAD_ROOT_DIR/include and PTHREAD_ROOT_DIR/lib 6 | # directories, respectively. Otherwise the default CMake search process will be 7 | # used. 8 | # 9 | # This script creates the following variables: 10 | # PTHREAD_FOUND: Boolean that indicates if the package was found 11 | # PTHREAD_INCLUDE_DIRS: Paths to the necessary header files 12 | # PTHREAD_LIBRARIES: Package libraries 13 | # 14 | ################################################################################ 15 | 16 | include(LibFindMacros) 17 | 18 | # Get hint from environment variable (if any) 19 | if(NOT $ENV{PTHREAD_ROOT_DIR} STREQUAL "") 20 | set(PTHREAD_ROOT_DIR $ENV{PTHREAD_ROOT_DIR} CACHE PATH "PTHREAD base directory location (optional, used for nonstandard installation paths)" FORCE) 21 | mark_as_advanced(PTHREAD_ROOT_DIR) 22 | endif() 23 | 24 | # Header files to find 25 | set(header_NAME pthread.h) 26 | 27 | # Libraries to find 28 | set(pthread_NAME pthread) 29 | 30 | # Find headers and libraries 31 | if(PTHREAD_ROOT_DIR) 32 | # Use location specified by environment variable 33 | find_path(PTHREAD_INCLUDE_DIR NAMES ${header_NAME} PATHS ${PTHREAD_ROOT_DIR}/include PATH_SUFFIXES pthread NO_DEFAULT_PATH) 34 | find_library(PTHREAD_LIBRARY NAMES ${pthread_NAME} PATHS ${PTHREAD_ROOT_DIR}/lib NO_DEFAULT_PATH) 35 | else() 36 | # Use default CMake search process 37 | find_path(PTHREAD_INCLUDE_DIR NAMES ${header_NAME} PATH_SUFFIXES pthread ) 38 | find_library(PTHREAD_LIBRARY NAMES ${pthread_NAME} PATHS /usr/lib/x86_64-linux-gnu/) 39 | endif() 40 | 41 | # Set the include dir variables and the libraries and let libfind_process do the rest. 42 | # NOTE: Singular variables for this library, plural for libraries this this lib depends on. 43 | set(PTHREAD_PROCESS_INCLUDES PTHREAD_INCLUDE_DIR) 44 | set(PTHREAD_PROCESS_LIBS PTHREAD_LIBRARY) 45 | 46 | libfind_process(PTHREAD) 47 | -------------------------------------------------------------------------------- /config/FindRTAI.cmake: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # CMake script for finding RTAI/LXRT. 4 | # If the optional RTAI_ROOT_DIR environment variable exists, header files and 5 | # libraries will be searched in the RTAI_ROOT_DIR/include and RTAI_ROOT_DIR/lib 6 | # directories, respectively. Otherwise the default CMake search process will be 7 | # used. 8 | # 9 | # This script creates the following variables: 10 | # RTAI_FOUND: Boolean that indicates if the package was found 11 | # RTAI_INCLUDE_DIRS: Paths to the necessary header files 12 | # RTAI_LIBRARIES: Package libraries 13 | # 14 | ################################################################################ 15 | 16 | include(LibFindMacros) 17 | 18 | # Get hint from environment variable (if any) 19 | if(NOT $ENV{RTAI_ROOT_DIR} STREQUAL "") 20 | set(RTAI_ROOT_DIR $ENV{RTAI_ROOT_DIR} CACHE PATH "RTAI base directory location (optional, used for nonstandard installation paths)" FORCE) 21 | mark_as_advanced(RTAI_ROOT_DIR) 22 | endif() 23 | 24 | # Header files to find 25 | set(header_NAME rtai_lxrt.h) 26 | 27 | # Libraries to find 28 | set(rtai_NAME lxrt) 29 | 30 | # Find headers and libraries 31 | if(RTAI_ROOT_DIR) 32 | # Use location specified by environment variable 33 | find_path(RTAI_INCLUDE_DIR NAMES ${header_NAME} PATHS ${RTAI_ROOT_DIR}/include PATH_SUFFIXES rtai NO_DEFAULT_PATH) 34 | find_library(RTAI_LIBRARY NAMES ${rtai_NAME} PATHS ${RTAI_ROOT_DIR}/lib NO_DEFAULT_PATH) 35 | else() 36 | # Use default CMake search process 37 | find_path(RTAI_INCLUDE_DIR NAMES ${header_NAME} PATH_SUFFIXES rtai ) 38 | find_library(RTAI_LIBRARY NAMES ${rtai_NAME}) 39 | endif() 40 | 41 | # Set the include dir variables and the libraries and let libfind_process do the rest. 42 | # NOTE: Singular variables for this library, plural for libraries this this lib depends on. 43 | set(RTAI_PROCESS_INCLUDES RTAI_INCLUDE_DIR) 44 | set(RTAI_PROCESS_LIBS RTAI_LIBRARY) 45 | 46 | # If user provides Linux source dir, check and append it as well 47 | if( LINUX_SOURCE_DIR ) 48 | set(linux_header_NAME linux/kernel.h) 49 | # We check for both the source dir or an installation dir: 50 | find_path(Linux_INCLUDE_DIR NAMES ${linux_header_NAME} PATHS ${LINUX_SOURCE_DIR} PATH_SUFFIXES include NO_DEFAULT_PATH) 51 | list(APPEND RTAI_PROCESS_INCLUDES Linux_INCLUDE_DIR) 52 | endif() 53 | 54 | libfind_process(RTAI) 55 | -------------------------------------------------------------------------------- /config/FindXerces.cmake: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # CMake script for finding XERCES. 4 | # If the optional XERCES_ROOT_DIR environment variable exists, header files and 5 | # libraries will be searched in the XERCES_ROOT_DIR/include and XERCES_ROOT_DIR/libs 6 | # directories, respectively. Otherwise the default CMake search process will be 7 | # used. 8 | # 9 | # This script creates the following variables: 10 | # XERCES_FOUND: Boolean that indicates if the package was found 11 | # XERCES_INCLUDE_DIRS: Paths to the necessary header files 12 | # XERCES_LIBRARIES: Package libraries 13 | # 14 | ################################################################################ 15 | 16 | include(FindPackageHandleStandardArgs) 17 | 18 | # Get hint from environment variable (if any) 19 | if(NOT XERCES_ROOT_DIR AND DEFINED ENV{XERCES_ROOT_DIR}) 20 | set(XERCES_ROOT_DIR "$ENV{XERCES_ROOT_DIR}" CACHE PATH "XERCES base directory location (optional, used for nonstandard installation paths)") 21 | mark_as_advanced(XERCES_ROOT_DIR) 22 | endif() 23 | 24 | # Search path for nonstandard locations 25 | if(XERCES_ROOT_DIR) 26 | set(XERCES_INCLUDE_PATH PATHS "${XERCES_ROOT_DIR}/include" NO_DEFAULT_PATH) 27 | set(XERCES_LIBRARY_PATH PATHS "${XERCES_ROOT_DIR}/lib" NO_DEFAULT_PATH) 28 | endif() 29 | 30 | # Find headers and libraries 31 | find_path(XERCES_INCLUDE_DIR NAMES xercesc/dom/DOM.hpp ${XERCES_INCLUDE_PATH}) 32 | find_library(XERCES_C_LIBRARY NAMES xerces-c ${XERCES_LIBRARY_PATH}) 33 | 34 | # Set Xerces_FOUND honoring the QUIET and REQUIRED arguments 35 | find_package_handle_standard_args(Xerces DEFAULT_MSG XERCES_C_LIBRARY XERCES_INCLUDE_DIR) 36 | 37 | # Output variables 38 | if(XERCES_FOUND) 39 | # Include dirs 40 | set(XERCES_INCLUDE_DIRS ${XERCES_INCLUDE_DIR}) 41 | 42 | # Libraries 43 | set(XERCES_LIBRARIES ${XERCES_C_LIBRARY}) 44 | endif() 45 | 46 | # Advanced options for not cluttering the cmake UIs 47 | mark_as_advanced(XERCES_INCLUDE_DIR XERCES_C_LIBRARY) 48 | -------------------------------------------------------------------------------- /config/SelectOneLibrary.cmake: -------------------------------------------------------------------------------- 1 | # As some libraries are actually a list of libraries (e.g. "debug;xxx-d.lib;optimized;xxx.lib") 2 | # and we can't deal with that in pkgconfig, we take 3 | # 1) the library for this build type, or 4 | # 2) the library if only one is listed, or 5 | # 3) the release version if available and the build type is one of the release types, or 6 | # 4) we error out. 7 | # 8 | # EXPECTED USAGE 9 | # 10 | # SELECT_ONE_LIBRARY("Boost_THREAD_LIBRARY" BOOST_THREAD_LIB) 11 | # LIST(APPEND OROCOS-RTT_USER_LINK_LIBS ${BOOST_THREAD_LIB}) 12 | # 13 | macro( SELECT_ONE_LIBRARY NAME RETURN) 14 | 15 | set(${RETURN} "") 16 | 17 | STRING(TOUPPER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_UPPER) 18 | SET(NAME_U "${NAME}_${CMAKE_BUILD_TYPE_UPPER}") 19 | if (DEFINED ${NAME_U}) 20 | 21 | set(${RETURN} ${${NAME_U}}) 22 | 23 | else (DEFINED ${NAME_U}) 24 | 25 | LIST(LENGTH ${NAME} COUNT) 26 | if (1 EQUAL COUNT) 27 | 28 | set(${RETURN} ${${NAME}}) 29 | 30 | else (1 EQUAL COUNT) 31 | 32 | # found nothing particular to this build type, but 33 | # for all release-related types, use release (if available) 34 | 35 | # these two if's have to be done separately for some reason ... :-( 36 | if (CMAKE_BUILD_TYPE_UPPER MATCHES "RELWITHDEBINFO|RELEASE|MINSIZEREL") 37 | if (DEFINED ${NAME}_RELEASE) 38 | MESSAGE(STATUS "Defaulting to release library for ${CMAKE_BUILD_TYPE_UPPER}") 39 | set(${RETURN} ${${NAME}_RELEASE}) 40 | endif () 41 | endif () 42 | 43 | endif (1 EQUAL COUNT) 44 | 45 | endif (DEFINED ${NAME_U}) 46 | 47 | if ("" STREQUAL ${RETURN}) 48 | MESSAGE(FATAL_ERROR "Found multiple ${NAME} libraries, but not one specific to, or related to, the current build type '${CMAKE_BUILD_TYPE_UPPER}'.") 49 | endif() 50 | 51 | endmacro() 52 | -------------------------------------------------------------------------------- /config/cmake_uninstall.cmake.in: -------------------------------------------------------------------------------- 1 | IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") 2 | MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"") 3 | ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") 4 | 5 | FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) 6 | STRING(REGEX REPLACE "\n" ";" files "${files}") 7 | FOREACH(file ${files}) 8 | MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"") 9 | IF(EXISTS "$ENV{DESTDIR}${file}") 10 | EXEC_PROGRAM( 11 | "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\"" 12 | OUTPUT_VARIABLE rm_out 13 | RETURN_VALUE rm_retval 14 | ) 15 | IF("${rm_retval}" STREQUAL 0) 16 | ELSE("${rm_retval}" STREQUAL 0) 17 | MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"") 18 | ENDIF("${rm_retval}" STREQUAL 0) 19 | ELSE(EXISTS "$ENV{DESTDIR}${file}") 20 | MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.") 21 | ENDIF(EXISTS "$ENV{DESTDIR}${file}") 22 | ENDFOREACH(file) -------------------------------------------------------------------------------- /doc/CODING_STYLE.txt: -------------------------------------------------------------------------------- 1 | The following coding style is used in Orocos: 2 | 3 | Text Formatting 4 | --------------- 5 | 6 | * NO TABS ANYWHERE, use spaces 7 | 8 | * Indentation width is 4 9 | 10 | * Use Namespaces instead of class/function prefixes 11 | 12 | * upper/lowercase convention : 13 | functionNameExample 14 | vs ClassNameExample 15 | vs variableNameExample 16 | 17 | * Static class methods start with uppercase 18 | 19 | Documentation 20 | ------------- 21 | 22 | * Documentation is generated by Doxygen from code comments. 23 | A code comment is placed above the function/variable/class and is formed 24 | as 25 | /** 26 | * Short description. 27 | * More elaborate description 28 | * over multiple lines. 29 | * 30 | * @param par1 First parameter meaning. 31 | * @param par2 Second parameter meaning. 32 | * @return Return meaning. 33 | */ 34 | 35 | Take a good look at punctuation (.). All valid Doxygen tags are allowed. 36 | 37 | * At least the class type must be documented, or the class is not included 38 | in the documentation. 39 | 40 | * Dia is the favored format for storing diagrams. 41 | 42 | * American spelling is favored (not favoured :-) over Brittish spelling. 43 | 44 | Inlining / performance 45 | ----------------------- 46 | 47 | * Sometimes, a function is so small, it can be inlined. Examples are : 48 | empty destructors, simple inspectors ( getX() ), constructors. Such 49 | functions go in the header file instead of the implementation file. 50 | If you want to separate implementation from interface, use a separate 51 | abstract class with all functions pure virtual. A function 52 | which is virtual can never be inlined, but to reduce maintenance, can 53 | be placed in the header. Commands and Conditions fall into this category. 54 | Since construction of objects (even statical allocated) can cause 55 | performance penalties, inlining constructors is advised for empty body 56 | constructors. 57 | 58 | Templates 59 | ---------- 60 | 61 | * Each templated class must reside completely in the header file. Templates 62 | can not be compiled seperately. The whole file, with implementation, 63 | must be included. 64 | 65 | * All template parameters must be typedef'ed to a meaningfull common 66 | type (like iterator, value_type, Aspect,...) following STL notation 67 | if appropriate. 68 | 69 | * Typedef in the header file common uses of templated classes 70 | for the user. Examples are 71 | 72 | typedef MultiVector Double6D; 73 | typedef ReportExporter PropertyExporter; 74 | 75 | * Boost Concept checking is allowed for use in your template classes. 76 | -------------------------------------------------------------------------------- /doc/DocBookToHTML.cmake: -------------------------------------------------------------------------------- 1 | 2 | #Usage : DOCBOOK_TO_HTML( stylesheet [CATALOG catalog1 ...] FILES source1.xml ... ) 3 | macro( DOCBOOK_TO_HTML RESULT XSLT_SHEET ) 4 | set(_in_catalogs FALSE) 5 | set(_in_files FALSE) 6 | set(_catalog_FILES "") 7 | 8 | foreach (_current_FILE ${ARGN}) 9 | 10 | # process catalogs 11 | if ( _current_FILE STREQUAL "CATALOG") 12 | 13 | set(_in_catalogs TRUE) 14 | 15 | else ( _current_FILE STREQUAL "CATALOG") 16 | 17 | if ( _in_catalogs ) 18 | # Detect break out of loop... 19 | if (_current_FILE STREQUAL "FILES") 20 | set(_in_catalogs FALSE) 21 | else(_current_FILE STREQUAL "FILES") 22 | set( _catalog_FILES ${_catalog_FILES} ${_current_FILE}) 23 | endif(_current_FILE STREQUAL "FILES") 24 | endif ( _in_catalogs ) 25 | 26 | endif ( _current_FILE STREQUAL "CATALOG") 27 | 28 | 29 | if ( _current_FILE STREQUAL "FILES") 30 | set(_in_files TRUE) 31 | else ( _current_FILE STREQUAL "FILES") 32 | if ( _in_files) 33 | string(REPLACE ".xml" ".html" _current_HTMLFILE ${_current_FILE}) 34 | #MESSAGE( "Converting ${_current_FILE} to ${CMAKE_CURRENT_BINARY_DIR}/${_current_HTMLFILE}" ) 35 | add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_current_HTMLFILE} 36 | COMMAND XML_CATALOG_FILES=${_catalog_FILES} xsltproc --xinclude ${CMAKE_CURRENT_SOURCE_DIR}/${XSLT_SHEET} ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} > ${_current_HTMLFILE} 37 | DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${XSLT_SHEET} ${_catalog_FILES} 38 | ) 39 | list( APPEND ${RESULT} ${CMAKE_CURRENT_BINARY_DIR}/${_current_HTMLFILE} ) 40 | #add_custom_target(dochtml DEPENDS ${_current_HTMLFILE} ) 41 | endif ( _in_files) 42 | endif ( _current_FILE STREQUAL "FILES") 43 | endforeach (_current_FILE ${ARGN}) 44 | endmacro( DOCBOOK_TO_HTML RESULT XSLT_SHEET ) 45 | -------------------------------------------------------------------------------- /doc/DocBookToPDF.cmake: -------------------------------------------------------------------------------- 1 | 2 | #Usage : DOCBOOK_TO_PDF( stylesheet [CATALOG catalog1 ...] FILES source1.xml ... ) 3 | macro( DOCBOOK_TO_PDF RESULT XSLT_SHEET ) 4 | set(_in_catalogs FALSE) 5 | set(_in_files FALSE) 6 | set(_catalog_FILES "") 7 | foreach (_current_FILE ${ARGN}) 8 | 9 | if ( _current_FILE STREQUAL "CATALOG") 10 | 11 | set(_in_catalogs TRUE) 12 | 13 | else ( _current_FILE STREQUAL "CATALOG") 14 | 15 | if ( _in_catalogs ) 16 | # Detect break out of loop... 17 | if (_current_FILE STREQUAL "FILES") 18 | set(_in_catalogs FALSE) 19 | else (_current_FILE STREQUAL "FILES") 20 | set( _catalog_FILES ${_catalog_FILES} ${_current_FILE}) 21 | endif(_current_FILE STREQUAL "FILES") 22 | endif ( _in_catalogs ) 23 | 24 | endif ( _current_FILE STREQUAL "CATALOG") 25 | 26 | if ( _current_FILE STREQUAL "FILES") 27 | set(_in_files TRUE) 28 | else ( _current_FILE STREQUAL "FILES") 29 | if ( _in_files) 30 | string(REPLACE ".xml" ".pdf" _current_PDFFILE ${_current_FILE}) 31 | string(REPLACE ".xml" ".fo" _current_FOPFILE ${_current_FILE}) 32 | 33 | #MESSAGE( "Converting ${_current_FILE} to ${_current_PDFFILE}" ) 34 | add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_current_PDFFILE} 35 | COMMAND XML_CATALOG_FILES=${_catalog_FILES} xsltproc --xinclude ${CMAKE_CURRENT_SOURCE_DIR}/${XSLT_SHEET} ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} > ${_current_FOPFILE} 36 | COMMAND JAVA_OPTS="-Xmx768m" fop ${_current_FOPFILE} ${_current_PDFFILE} 37 | COMMAND rm ${_current_FOPFILE} 38 | DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${XSLT_SHEET} ${_catalog_FILES} 39 | ) 40 | #add_custom_target(docpdf DEPENDS ${_current_PDFFILE} ) 41 | list( APPEND ${RESULT} ${CMAKE_CURRENT_BINARY_DIR}/${_current_PDFFILE} ) 42 | endif ( _in_files) 43 | endif ( _current_FILE STREQUAL "FILES") 44 | endforeach (_current_FILE ${ARGN}) 45 | endmacro( DOCBOOK_TO_PDF RESULT XSLT_SHEET ) 46 | -------------------------------------------------------------------------------- /doc/OrocosIn3Slides.odp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/OrocosIn3Slides.odp -------------------------------------------------------------------------------- /doc/OrocosOverview.sxi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/OrocosOverview.sxi -------------------------------------------------------------------------------- /doc/PACKAGING: -------------------------------------------------------------------------------- 1 | Creating .tar.gz & .tar.bz2 archives. 2 | ===================================== 3 | 4 | Use: 5 | 6 | $ svn export http://svn.mech.kuleuven.be/repos/orocos/trunk/rtt orocos-rtt-x.y.z 7 | $ tar -cjf orocos-rtt-x.y.z.tar.bz2 orocos-rtt-x.y.z 8 | $ tar -czf orocos-rtt-x.y.z.tar.gz orocos-rtt-x.y.z 9 | 10 | Creating Debian packages. 11 | ========================= 12 | 13 | Using SVN: 14 | 15 | $ svn co http://svn.mech.kuleuven.be/repos/orocos/trunk/rtt orocos-rtt 16 | $ cd orocos-rtt 17 | $ svn-buildpackage -rfakeroot [--svn-ignore] 18 | 19 | Results can be found in ../build-area/ 20 | --svn-ignore ignores uncommitted pieces, only for testing. Do not use when building releases ! 21 | 22 | Using .tar.gz: 23 | 24 | $ tar -xzf orocos-rtt-x.y.z.tar.gz 25 | $ cd orocos-rtt-x.y.z 26 | $ dpkg-buildpackage -rfakeroot 27 | 28 | -------------------------------------------------------------------------------- /doc/README.txt: -------------------------------------------------------------------------------- 1 | /** @section gendocs Generating Documentation 2 | 3 | The doc/ directory is structured as follows: 4 | 5 | * 'make docpdf dochtml': 6 | The docbook-xml manuals (Component Builder's Guide, 7 | Getting Started,...) are in the doc/xml directory. 8 | They are used to generated pdf and html documents. 9 | Each XML file is one chapter. 10 | 11 | The images used in these manuals are stored in doc/xml/images 12 | 13 | * 'make docapi': 14 | The API documentation is generated in doc/api, 15 | using the current configuration. 16 | 17 | * 'xsl/': 18 | Contains the 'translation' sheets to translate an 19 | XML file to a HTML file or an XML file to an 20 | intermediate 'fo' format. 21 | 22 | * 'sgml/': 23 | Contains some older docbook documents. 24 | 25 | * 'cpf.dtd': 26 | A 'Document Type Definition' which tells an XML 27 | formatter or parser how the Orocos Property XML 28 | files must look. 29 | 30 | */ 31 | -------------------------------------------------------------------------------- /doc/SvgToPDF.cmake: -------------------------------------------------------------------------------- 1 | 2 | macro( SVG_TO_PDF RESULT) 3 | #SEPARATE_ARGUMENTS( ARGN ) 4 | foreach (_current_FILE ${ARGN}) 5 | # Create the target directory. 6 | #MESSAGE( "Processing ${CMAKE_CURRENT_BINARY_DIR}/${_current_FILE}" ) 7 | get_filename_component(DIRNAME ${CMAKE_CURRENT_BINARY_DIR}/${_current_FILE} PATH) 8 | get_filename_component(FILENAME ${CMAKE_CURRENT_BINARY_DIR}/${_current_FILE} NAME) 9 | get_filename_component(FILE_WE ${CMAKE_CURRENT_BINARY_DIR}/${_current_FILE} NAME_WE) 10 | file(MAKE_DIRECTORY ${DIRNAME}) 11 | file(MAKE_DIRECTORY ${DIRNAME}/hires ) 12 | 13 | if ( _current_FILE MATCHES ".*.svg" ) 14 | string(REPLACE ".svg" ".pdf" _current_PDFFILE ${_current_FILE}) 15 | 16 | #MESSAGE( "Converting ${_current_FILE} to ${_current_PDFFILE}" ) 17 | add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_current_PDFFILE} 18 | COMMAND inkscape -z -A ${_current_PDFFILE} ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} 19 | DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} 20 | ) 21 | list( APPEND ${RESULT} ${CMAKE_CURRENT_BINARY_DIR}/${_current_PDFFILE} ) 22 | endif ( _current_FILE MATCHES ".*.svg" ) 23 | endforeach (_current_FILE ${ARGN}) 24 | #MESSAGE( "Processing RESULT is: ${${RESULT}}" ) 25 | 26 | endmacro( SVG_TO_PDF RESULT) 27 | 28 | -------------------------------------------------------------------------------- /doc/cpf.dtd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /doc/orocos-html.css: -------------------------------------------------------------------------------- 1 | /* 2 | style.css - a CSS stylesheet for use with HTML output produced by 3 | tldp-xsl stylesheets. Written by David Horton. 4 | */ 5 | 6 | 7 | body { 8 | 9 | /* 10 | Style the HMTL tag with a sans-serif font and 6% margin. 11 | A sans-serif font makes documents easier to read when displayed on 12 | a computer screen. Whitespace surrounding the document should 13 | make it easier to read both on screen and on printed paper. The 14 | value of 6% was chosen because it closely approximates a one-half 15 | inch margin on a US letter (8.5" by 11") paper. Since the margin 16 | is expressed as a percentage it should scale well in a web browser 17 | window. 18 | */ 19 | 20 | font-family: sans-serif; 21 | margin: 6%; 22 | } 23 | 24 | 25 | .programlisting, .screen { 26 | 27 | /* 28 | Style the programlisting and screen classes with a light gray 29 | background and a small bit of space between the object border and 30 | the text inside. The programlisting and screen classes are HTML 31 | representations of the and DocBook tags. 32 | */ 33 | 34 | background: lightgray; 35 | padding: 5px; 36 | } 37 | 38 | 39 | /* Add any desired customizations below. */ 40 | 41 | div.figure 42 | { 43 | text-align: center; 44 | } 45 | 46 | div.figure, div.screenshot 47 | { 48 | text-align: center; /* needed for ms5 */ 49 | margin-top: 1em; 50 | margin-bottom: 1em; 51 | } 52 | 53 | div.figure table, div.screenshot table 54 | { /* see http://theodorakis.net/tablecentertest.html*/ 55 | margin-left: auto; 56 | margin-right: auto; 57 | } 58 | 59 | div.figure p.title 60 | { 61 | text-align: center; 62 | margin-left: 15%; 63 | margin-right: 15%; 64 | } -------------------------------------------------------------------------------- /doc/xml/catalog.xml.in: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /doc/xml/fopconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | embed-font 3 | true 4 | 5 | -------------------------------------------------------------------------------- /doc/xml/images/ACMotor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/ACMotor.jpg -------------------------------------------------------------------------------- /doc/xml/images/ATaskContext-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/ATaskContext-basic.png -------------------------------------------------------------------------------- /doc/xml/images/ATaskContext-basics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/ATaskContext-basics.png -------------------------------------------------------------------------------- /doc/xml/images/ATaskContext-plugins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/ATaskContext-plugins.png -------------------------------------------------------------------------------- /doc/xml/images/ATaskContext-properties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/ATaskContext-properties.png -------------------------------------------------------------------------------- /doc/xml/images/ATaskContext-services.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/ATaskContext-services.png -------------------------------------------------------------------------------- /doc/xml/images/AnalogMeter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/AnalogMeter.png -------------------------------------------------------------------------------- /doc/xml/images/AutomaticState.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/AutomaticState.png -------------------------------------------------------------------------------- /doc/xml/images/MachineStates.dia: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/MachineStates.dia -------------------------------------------------------------------------------- /doc/xml/images/Meter_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/Meter_1.png -------------------------------------------------------------------------------- /doc/xml/images/ProgramStates.dia: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/ProgramStates.dia -------------------------------------------------------------------------------- /doc/xml/images/ProgramTransitions.dia: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/ProgramTransitions.dia -------------------------------------------------------------------------------- /doc/xml/images/RTT_KDL_BFL_400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/RTT_KDL_BFL_400.png -------------------------------------------------------------------------------- /doc/xml/images/RTT_KDL_BFL_fill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/RTT_KDL_BFL_fill.png -------------------------------------------------------------------------------- /doc/xml/images/ReactiveState.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/ReactiveState.png -------------------------------------------------------------------------------- /doc/xml/images/StateTransitions.dia: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/StateTransitions.dia -------------------------------------------------------------------------------- /doc/xml/images/computer_screen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/computer_screen.jpg -------------------------------------------------------------------------------- /doc/xml/images/gear-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/gear-image.png -------------------------------------------------------------------------------- /doc/xml/images/icons/ChangeLog: -------------------------------------------------------------------------------- 1 | 2002-02-11 Norman Walsh 2 | 3 | * draft.png: Updated draft image 4 | 5 | 2002-01-29 Norman Walsh 6 | 7 | * blank.png, draft.png: New file. 8 | 9 | 2001-11-06 Robert Stayton 10 | 11 | * home.gif, next.gif, prev.gif, up.gif: New file. 12 | 13 | 2001-04-02 Norman Walsh 14 | 15 | * caution.gif, caution.png, caution.tif, home.png, important.gif, important.png, important.tif, next.png, note.gif, note.png, note.tif, prev.png, tip.gif, tip.png, tip.tif, toc-blank.png, toc-minus.png, toc-plus.png, up.png, warning.gif, warning.png, warning.tif: 16 | New file. 17 | 18 | -------------------------------------------------------------------------------- /doc/xml/images/icons/blank.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/blank.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/blank.png -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/1.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/1.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/1.png -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/10.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/10.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/10.png -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/11.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/11.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/11.png -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/12.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/12.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/12.png -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/13.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/13.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/13.png -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/14.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/14.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/14.png -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/15.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/15.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/15.png -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/2.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/2.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/2.png -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/3.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/3.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/3.png -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/4.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/4.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/4.png -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/5.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/5.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/5.png -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/6.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/6.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/6.png -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/7.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/7.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/7.png -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/8.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/8.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/8.png -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/9.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/9.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/callouts/9.png -------------------------------------------------------------------------------- /doc/xml/images/icons/callouts/ChangeLog: -------------------------------------------------------------------------------- 1 | 2002-05-17 Norman Walsh 2 | 3 | * 11.gif, 11.png, 12.gif, 12.png, 13.gif, 13.png, 14.gif, 14.png, 15.gif, 15.png: 4 | New file. 5 | 6 | 2002-01-28 Norman Walsh 7 | 8 | * 1.gif, 10.gif, 2.gif, 3.gif, 4.gif, 5.gif, 6.gif, 7.gif, 8.gif, 9.gif: 9 | New file. 10 | 11 | 2001-04-02 Norman Walsh 12 | 13 | * 1.png, 10.png, 2.png, 3.png, 4.png, 5.png, 6.png, 7.png, 8.png, 9.png: 14 | New file. 15 | 16 | -------------------------------------------------------------------------------- /doc/xml/images/icons/caution.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/caution.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/caution.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/caution.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/caution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/caution.png -------------------------------------------------------------------------------- /doc/xml/images/icons/caution.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | ]> 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /doc/xml/images/icons/copyright: -------------------------------------------------------------------------------- 1 | This package was debianized by Mark Johnson on 2 | Mon, 11 Oct 2004 18:37:39 -0400 3 | 4 | It was downloaded from the Sourceforge mirror: 5 | 6 | 7 | Upstream Author: Norman Walsh and other docbook developers at 8 | the Sourceforge DocBook Open Repository 9 | 10 | 11 | Copyright 12 | --------- 13 | 14 | Copyright (C) 1999, 2000, 2001 Norman Walsh 15 | 16 | Permission is hereby granted, free of charge, to any person 17 | obtaining a copy of this software and associated documentation 18 | files (the ``Software''), to deal in the Software without 19 | restriction, including without limitation the rights to use, 20 | copy, modify, merge, publish, distribute, sublicense, and/or 21 | sell copies of the Software, and to permit persons to whom the 22 | Software is furnished to do so, subject to the following 23 | conditions: 24 | 25 | The above copyright notice and this permission notice shall be 26 | included in all copies or substantial portions of the Software. 27 | 28 | Except as contained in this notice, the names of individuals 29 | credited with contribution to this software shall not be used in 30 | advertising or otherwise to promote the sale, use or other 31 | dealings in this Software without prior written authorization 32 | from the individuals in question. 33 | 34 | Any stylesheet derived from this Software that is publically 35 | distributed will be identified with a different name and the 36 | version strings in any derived Software will be changed so that 37 | no possibility of confusion between the derived package and this 38 | Software will exist. 39 | 40 | Warranty 41 | -------- 42 | 43 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 44 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 45 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 46 | NONINFRINGEMENT. IN NO EVENT SHALL NORMAN WALSH OR ANY OTHER 47 | CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 48 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 49 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 50 | OTHER DEALINGS IN THE SOFTWARE. 51 | 52 | Contacting the Author 53 | --------------------- 54 | 55 | These stylesheets are maintained by Norman Walsh, . 56 | -------------------------------------------------------------------------------- /doc/xml/images/icons/draft.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/draft.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/draft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/draft.png -------------------------------------------------------------------------------- /doc/xml/images/icons/home.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/home.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/home.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/home.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/home.png -------------------------------------------------------------------------------- /doc/xml/images/icons/home.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | ]> 11 | 12 | 13 | 14 | 16 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /doc/xml/images/icons/important.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/important.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/important.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/important.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/important.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/important.png -------------------------------------------------------------------------------- /doc/xml/images/icons/important.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | ]> 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /doc/xml/images/icons/next.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/next.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/next.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/next.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/next.png -------------------------------------------------------------------------------- /doc/xml/images/icons/next.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | ]> 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /doc/xml/images/icons/note.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/note.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/note.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/note.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/note.png -------------------------------------------------------------------------------- /doc/xml/images/icons/note.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | ]> 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /doc/xml/images/icons/prev.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/prev.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/prev.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/prev.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/prev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/prev.png -------------------------------------------------------------------------------- /doc/xml/images/icons/prev.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | ]> 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /doc/xml/images/icons/tip.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/tip.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/tip.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/tip.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/tip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/tip.png -------------------------------------------------------------------------------- /doc/xml/images/icons/tip.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | ]> 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /doc/xml/images/icons/toc-blank.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/toc-blank.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/toc-blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/toc-blank.png -------------------------------------------------------------------------------- /doc/xml/images/icons/toc-minus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/toc-minus.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/toc-minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/toc-minus.png -------------------------------------------------------------------------------- /doc/xml/images/icons/toc-plus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/toc-plus.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/toc-plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/toc-plus.png -------------------------------------------------------------------------------- /doc/xml/images/icons/up.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/up.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/up.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/up.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/up.png -------------------------------------------------------------------------------- /doc/xml/images/icons/up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | ]> 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /doc/xml/images/icons/warning.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/warning.gif -------------------------------------------------------------------------------- /doc/xml/images/icons/warning.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/warning.jpg -------------------------------------------------------------------------------- /doc/xml/images/icons/warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/icons/warning.png -------------------------------------------------------------------------------- /doc/xml/images/icons/warning.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | ]> 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /doc/xml/images/red-car.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/red-car.png -------------------------------------------------------------------------------- /doc/xml/images/robot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/robot.png -------------------------------------------------------------------------------- /doc/xml/images/toolkit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/doc/xml/images/toolkit.png -------------------------------------------------------------------------------- /doc/xml/orocos-ocl-intro.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | %oro_ents; 7 | ] 8 | > 9 | 10 | 11 | 12 | 13 | Tutorial on the Component Interface 14 | 15 | Open RObot COntrol Software 16 | 17 | &oversion; 18 | 19 | 2002,2003,2004,2005,2006 20 | Peter Soetens 21 | FMTC 22 | 23 | 24 | 25 | 26 | This document gives an introduction on the different aspects 27 | of interfacing an &orocos; component. This is an excerpt from 28 | the Component Builder's Manual and walks through the 'Hello World' 29 | program. 30 | 31 | 32 | 33 | 34 | 35 | Orocos Version &oversion;. 36 | 37 | 38 | Permission is granted to copy, distribute and/or modify this document 39 | under the terms of the GNU Free Documentation License, Version 1.1 or 40 | any later version published by the Free Software Foundation, with no 41 | Invariant Sections, with no Front-Cover Texts, and with no Back-Cover 42 | Texts. A copy of this license can be found at 43 | http://www.fsf.org/copyleft/fdl.html. 45 | 46 | 47 | 48 | 49 | 50 | 52 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /doc/xml/orocos-user-manual.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | %oro_ents; 7 | ] 8 | > 9 | 10 | 11 | 12 | 13 | The Orocos User's Manual 14 | 15 | Open RObot COntrol Software 16 | 17 | &oversion; 18 | 19 | 2002,2003,2004,2005,2006 20 | Herman Bruyninckx, Peter Soetens 21 | 22 | 23 | 24 | 25 | This document gives an introduction to 26 | the &orocos; 27 | ( Open RObot COntrol Software ) project. 28 | It contains a high-level overview of what Orocos 29 | (aims to) offer and the installation manual. 30 | 31 | 32 | 33 | 34 | 35 | Orocos Version &oversion;. 36 | 37 | 38 | Permission is granted to copy, distribute and/or modify this document 39 | under the terms of the GNU Free Documentation License, Version 1.1 or 40 | any later version published by the Free Software Foundation, with no 41 | Invariant Sections, with no Front-Cover Texts, and with no Back-Cover 42 | Texts. A copy of this license can be found at 43 | http://www.fsf.org/copyleft/fdl.html. 45 | 46 | 47 | 48 | 49 | Orocos Overview 50 | 52 | 54 | 55 | 56 | Installing Orocos 57 | 59 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /doc/xml/orocos.ent.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | CVS"> 4 | SVN"> 5 | Orocos"> 6 | RTAI"> 7 | RTOS"> 8 | BFL)"> 9 | RTT)"> 10 | KDL)"> 11 | OCL)"> 12 | -------------------------------------------------------------------------------- /doc/xsl/orocos-chunk.xsl: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /doc/xsl/orocos-website.xsl: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /env-hooks/00.rtt.sh.in: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | : ${OROCOS_TARGET:=@OROCOS_TARGET@} 4 | 5 | for file_path in `echo $CMAKE_PREFIX_PATH | tr : ' '` "@CMAKE_INSTALL_PREFIX@"; do 6 | if [ ! -d "$file_path/lib/orocos" ]; then 7 | continue 8 | elif [ -z "$RTT_COMPONENT_PATH" ]; then 9 | RTT_COMPONENT_PATH="$file_path/lib/orocos" 10 | elif ! echo "$RTT_COMPONENT_PATH" | grep -q "$file_path/lib/orocos"; then 11 | RTT_COMPONENT_PATH="$RTT_COMPONENT_PATH:$file_path/lib/orocos" 12 | fi 13 | done 14 | 15 | export OROCOS_TARGET 16 | export RTT_COMPONENT_PATH 17 | -------------------------------------------------------------------------------- /manifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | GPL v2 with linking exception 5 | RTT Developers 6 | 7 | http://www.orocos.org/rtt 8 | http://www.orocos.org/files/logo-t.png 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | stable 19 | 20 | 21 | -------------------------------------------------------------------------------- /orocos-rtt-config-version.cmake.in: -------------------------------------------------------------------------------- 1 | ######################################################################################################################## 2 | # 3 | # CMake version file for the Orocos-RTT package. 4 | # This script checks whether the requested version matches exactly or is compatible with the installed package version. 5 | # 6 | # This script sets the following variables: 7 | # PACKAGE_VERSION: Full provided version string 8 | # PACKAGE_VERSION_COMPATIBLE: True if version is compatible 9 | # PACKAGE_VERSION_EXACT: True if version is exact match 10 | # 11 | ######################################################################################################################## 12 | 13 | # Version string 14 | set(PACKAGE_VERSION @RTT_VERSION@) 15 | 16 | # Exact match test 17 | if(PACKAGE_FIND_VERSION_MAJOR EQUAL "@RTT_VERSION_MAJOR@") 18 | if(PACKAGE_FIND_VERSION_MINOR EQUAL "@RTT_VERSION_MINOR@" OR 19 | PACKAGE_FIND_VERSION_COUNT LESS "2") 20 | if(PACKAGE_FIND_VERSION_PATCH EQUAL "@RTT_VERSION_PATCH@" OR 21 | PACKAGE_FIND_VERSION_COUNT LESS "3") 22 | set(PACKAGE_VERSION_EXACT 1) 23 | endif() 24 | endif() 25 | endif() 26 | 27 | # Compatible version test 28 | if(NOT "@RTT_VERSION@" VERSION_LESS PACKAGE_FIND_VERSION AND # Installed version can't be lower than requested one 29 | "@RTT_VERSION_MAJOR@" EQUAL PACKAGE_FIND_VERSION_MAJOR) # ...and major versions must coincide 30 | set(PACKAGE_VERSION_COMPATIBLE TRUE) 31 | endif() 32 | 33 | -------------------------------------------------------------------------------- /orocos-rtt-config.cmake.in: -------------------------------------------------------------------------------- 1 | ######################################################################################################################## 2 | # Target-specific definitions. This is currently only the include paths. 3 | # 4 | ######################################################################################################################## 5 | 6 | 7 | # Prefix used to distinguish imported targets from regular ones 8 | set(PREFIX @IMPORTED_TARGET_PREFIX@) 9 | 10 | # Path to headers 11 | get_filename_component(OROCOS-RTT_INCLUDE_DIRS "${SELF_DIR}/../../../include" ABSOLUTE) 12 | list( APPEND OROCOS-RTT_INCLUDE_DIRS ${OROCOS-RTT_INCLUDE_DIRS}/orocos "@OROCOS-RTT_INCLUDE_DIRS@" @CORBA_INCLUDE_DIRS@ @MQ_INCLUDE_DIRS@ ) 13 | 14 | #Used CORBA IMPLEMENTATION 15 | set(CORBA_IMPLEMENTATION @CORBA_IMPLEMENTATION@) -------------------------------------------------------------------------------- /package.xml: -------------------------------------------------------------------------------- 1 | 2 | rtt 3 | 2.8.99 4 | 5 | Orocos/RTT component framework 6 | 7 | GPL v2 with linking exception 8 | Orocos Developers 9 | 10 | RTT Developers 11 | http://www.orocos.org/rtt 12 | 13 | cmake 14 | catkin 15 | catkin 16 | 17 | xpath-perl 18 | boost 19 | omniorb 20 | pkg-config 21 | 22 | boost 23 | omniorb 24 | xpath-perl 25 | pkg-config 26 | 27 | 28 | cmake 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /rtt/.gitignore: -------------------------------------------------------------------------------- 1 | stage 2 | test-build.cpp 3 | -------------------------------------------------------------------------------- /rtt/base/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE( GLOB CPPS [^.]*.cpp ) 2 | FILE( GLOB HPPS [^.]*.hpp [^.]*.inl ) 3 | 4 | ## Exceptions: 5 | if ( OS_NO_ASM ) 6 | file( GLOB ASM_FILES BufferLockFree.cpp) 7 | list( REMOVE_ITEM CPPS ${ASM_FILES} ) 8 | endif() 9 | 10 | GLOBAL_ADD_INCLUDE( rtt/base ${HPPS}) 11 | GLOBAL_ADD_SRC( ${CPPS}) 12 | -------------------------------------------------------------------------------- /rtt/deployment/.gitignore: -------------------------------------------------------------------------------- 1 | comppath.cpp 2 | 3 | -------------------------------------------------------------------------------- /rtt/deployment/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if ( PLUGINS_ENABLE ) 2 | 3 | # See also plugin/CMakeLists.txt 4 | if (NOT DEFAULT_PLUGIN_PATH) 5 | set(DEFAULT_COMPONENT_PATH "${CMAKE_INSTALL_PREFIX}/lib/orocos") 6 | else() 7 | set(DEFAULT_COMPONENT_PATH "${DEFAULT_PLUGIN_PATH}") 8 | endif() 9 | 10 | configure_file( comppath.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/comppath.cpp @ONLY ) 11 | 12 | if (NOT ${CMAKE_CURRENT_BINARY_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR} ) 13 | # This to reduce upgrade pains for in-tree upgraders: 14 | execute_process( COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_CURRENT_SOURCE_DIR}/comppath.cpp ) 15 | endif() 16 | 17 | FILE( GLOB CPPS [^.]*.cpp ) 18 | FILE( GLOB HPPS [^.]*.hpp [^.]*.h [^.]*.inl) 19 | GLOBAL_ADD_INCLUDE( rtt/deployment ${HPPS}) 20 | GLOBAL_ADD_SRC( ${CPPS} ${CMAKE_CURRENT_BINARY_DIR}/comppath.cpp ) 21 | 22 | endif( PLUGINS_ENABLE ) 23 | 24 | 25 | -------------------------------------------------------------------------------- /rtt/extras/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE( GLOB CPPS [^.]*.cpp ) 2 | FILE( GLOB HPPS [^.]*.hpp ) 3 | 4 | GLOBAL_ADD_INCLUDE( rtt/extras ${HPPS}) 5 | GLOBAL_ADD_SRC( ${CPPS}) 6 | 7 | ADD_SUBDIRECTORY( dev ) -------------------------------------------------------------------------------- /rtt/extras/dev/AxisInterface.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * This library is free software; you can redistribute it and/or * 3 | * modify it under the terms of the GNU General Public * 4 | * License as published by the Free Software Foundation; * 5 | * version 2 of the License. * 6 | * * 7 | * As a special exception, you may use this file as part of a free * 8 | * software library without restriction. Specifically, if other files * 9 | * instantiate templates or use macros or inline functions from this * 10 | * file, or you compile this file and link it with other files to * 11 | * produce an executable, this file does not by itself cause the * 12 | * resulting executable to be covered by the GNU General Public * 13 | * License. This exception does not however invalidate any other * 14 | * reasons why the executable file might be covered by the GNU General * 15 | * Public License. * 16 | * * 17 | * This library is distributed in the hope that it will be useful, * 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 20 | * Lesser General Public License for more details. * 21 | * * 22 | * You should have received a copy of the GNU General Public * 23 | * License along with this library; if not, write to the Free Software * 24 | * Foundation, Inc., 59 Temple Place, * 25 | * Suite 330, Boston, MA 02111-1307 USA * 26 | * * 27 | ***************************************************************************/ 28 | 29 | #ifdef ORO_PRAGMA_INTERFACE 30 | #pragma implementation 31 | #endif 32 | #include "AxisInterface.hpp" 33 | -------------------------------------------------------------------------------- /rtt/extras/dev/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | IF (ENABLE_OROCOS_DEVICE_INTERFACES) 2 | FILE( GLOB CPPS [^.]*.cpp ) 3 | FILE( GLOB HPPS [^.]*.hpp [^.]*.h [^.]*.inl) 4 | 5 | GLOBAL_ADD_INCLUDE( rtt/extras/dev ${HPPS}) 6 | GLOBAL_ADD_SRC( ${CPPS}) 7 | ENDIF(ENABLE_OROCOS_DEVICE_INTERFACES) -------------------------------------------------------------------------------- /rtt/extras/dev/HomingInterface.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | * This library is free software; you can redistribute it and/or * 3 | * modify it under the terms of the GNU General Public * 4 | * License as published by the Free Software Foundation; * 5 | * version 2 of the License. * 6 | * * 7 | * As a special exception, you may use this file as part of a free * 8 | * software library without restriction. Specifically, if other files * 9 | * instantiate templates or use macros or inline functions from this * 10 | * file, or you compile this file and link it with other files to * 11 | * produce an executable, this file does not by itself cause the * 12 | * resulting executable to be covered by the GNU General Public * 13 | * License. This exception does not however invalidate any other * 14 | * reasons why the executable file might be covered by the GNU General * 15 | * Public License. * 16 | * * 17 | * This library is distributed in the hope that it will be useful, * 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 20 | * Lesser General Public License for more details. * 21 | * * 22 | * You should have received a copy of the GNU General Public * 23 | * License along with this library; if not, write to the Free Software * 24 | * Foundation, Inc., 59 Temple Place, * 25 | * Suite 330, Boston, MA 02111-1307 USA * 26 | * * 27 | ***************************************************************************/ 28 | 29 | #ifdef ORO_PRAGMA_INTERFACE 30 | #pragma implementation 31 | #endif 32 | #include "HomingInterface.hpp" 33 | 34 | namespace RTT { 35 | using namespace dev; 36 | 37 | HomingInterface::~HomingInterface() {} 38 | } 39 | -------------------------------------------------------------------------------- /rtt/extras/dev/PulseTrainGeneratorInterface.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: Klaas Gadeyne Fri Sep 22 13:19:07 CEST 2006 PulseTrainGeneratorInterface.cpp 3 | 4 | PulseTrainGeneratorInterface.cpp - description 5 | ------------------- 6 | begin : Fri Sep 22 13:19:07 CEST 2006 7 | copyright : (C) 2006 FMTC 8 | email : klaas gadeyne at fmtc be 9 | 10 | *************************************************************************** 11 | * This library is free software; you can redistribute it and/or * 12 | * modify it under the terms of the GNU Lesser General Public * 13 | * License as published by the Free Software Foundation; either * 14 | * version 2.1 of the License, or (at your option) any later version. * 15 | * * 16 | * This library is distributed in the hope that it will be useful, * 17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 19 | * Lesser General Public License for more details. * 20 | * * 21 | * You should have received a copy of the GNU Lesser General Public * 22 | * License along with this library; if not, write to the Free Software * 23 | * Foundation, Inc., 59 Temple Place, * 24 | * Suite 330, Boston, MA 02111-1307 USA * 25 | * * 26 | ***************************************************************************/ 27 | 28 | #ifdef ORO_PRAGMA_INTERFACE 29 | #pragma implementation 30 | #endif 31 | #include "PulseTrainGeneratorInterface.hpp" 32 | 33 | namespace RTT { 34 | using namespace dev; 35 | NameServer PulseTrainGeneratorInterface::nameserver; 36 | } 37 | -------------------------------------------------------------------------------- /rtt/internal/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE( GLOB CPPS [^.]*.cpp ) 2 | FILE( GLOB HPPS [^.]*.hpp [^.]*.h [^.]*.inl) 3 | 4 | ## Exceptions: 5 | if ( OS_NO_ASM ) 6 | file( GLOB ASM_FILES ListLockFree.cpp) 7 | list( REMOVE_ITEM CPPS ${ASM_FILES} ) 8 | endif() 9 | 10 | GLOBAL_ADD_INCLUDE( rtt/internal ${HPPS}) 11 | GLOBAL_ADD_SRC( ${CPPS}) 12 | -------------------------------------------------------------------------------- /rtt/marsh/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | IF (PLUGINS_ENABLE_MARSHALLING) 3 | # Due to generation of some .h files in build directories, we also need to include some build dirs in our include paths. 4 | INCLUDE_DIRECTORIES(BEFORE ${PROJ_SOURCE_DIR} ${PROJ_SOURCE_DIR}/rtt ${PROJ_SOURCE_DIR}/rtt/os ${PROJ_SOURCE_DIR}/rtt/os/${OROCOS_TARGET} ) 5 | INCLUDE_DIRECTORIES(BEFORE ${PROJ_BINARY_DIR}/rtt ${PROJ_BINARY_DIR}/rtt/os ${PROJ_BINARY_DIR}/rtt/os/${OROCOS_TARGET} ) 6 | INCLUDE_DIRECTORIES(BEFORE ${PROJ_BINARY_DIR}/rtt/marsh ) 7 | INCLUDE_DIRECTORIES(BEFORE ${PROJ_BINARY_DIR}/rtt/typekit ) # For rtt-typekit-config.h 8 | 9 | GLOBAL_ADD_INCLUDE( rtt/marsh PropertyMarshaller.hpp PropertyDemarshaller.hpp MarshallInterface.hpp MarshallingService.hpp PropertyBagIntrospector.hpp) 10 | SET( CPPS PropertyMarshaller.cpp PropertyDemarshaller.cpp PropertyBagIntrospector.cpp) 11 | 12 | GLOBAL_ADD_INCLUDE( rtt/marsh CPFMarshaller.hpp 13 | XMLRPCDemarshaller.hpp XMLRPCMarshaller.hpp CPFDTD.hpp 14 | StreamProcessor.hpp Marshalling.hpp PropertyLoader.hpp) 15 | list(APPEND CPPS CPFDTD.cpp CPFMarshaller.cpp Marshalling.cpp MarshallingService.cpp PropertyLoader.cpp) 16 | 17 | IF (XERCES_FOUND AND NOT OS_NOEXCEPTIONS) 18 | GLOBAL_ADD_INCLUDE( rtt/marsh CPFDemarshaller.hpp) 19 | list(APPEND CPPS CPFDemarshaller.cpp ) 20 | ELSE (XERCES_FOUND AND NOT OS_NOEXCEPTIONS) 21 | GLOBAL_ADD_INCLUDE( rtt/marsh TinyDemarshaller.hpp ) 22 | list(APPEND CPPS TinyDemarshaller.cpp tinyxml.cpp tinyxmlparser.cpp tinyxmlerror.cpp tinystr.cpp ) 23 | ENDIF (XERCES_FOUND AND NOT OS_NOEXCEPTIONS) 24 | 25 | SET(RTT_DEFINITIONS ${OROCOS-RTT_DEFINITIONS}) 26 | set(DLL_EXPORT_PREFIX marsh) 27 | ADD_RTT_PLUGIN( rtt-marshalling ${RTT_VERSION} ${CPPS}) 28 | GLOBAL_ADD_INCLUDE( rtt/marsh ${CMAKE_CURRENT_BINARY_DIR}/rtt-marsh-config.h) 29 | target_link_libraries( rtt-marshalling-${OROCOS_TARGET}_plugin ) 30 | 31 | ENDIF(PLUGINS_ENABLE_MARSHALLING) 32 | -------------------------------------------------------------------------------- /rtt/marsh/tinystr.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orocos-toolchain/rtt/600102e8be9c81905b20930e32d43b28244ab173/rtt/marsh/tinystr.cpp -------------------------------------------------------------------------------- /rtt/orocos-rtt.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@CMAKE_INSTALL_PREFIX@ 2 | exec_prefix=${prefix} # defining another variable in terms of the first 3 | libdir=${exec_prefix}/lib 4 | includedir=${prefix}/include 5 | 6 | Name: Orocos-RTT # human-readable name 7 | Description: Open Robot Control Software: Real-Time Tookit # human-readable description 8 | Version: @RTT_VERSION@ 9 | Libs: -L${libdir} -lorocos-rtt-@OROCOS_TARGET@ @RTT_USER_LINK_LIBS@ @RTT_USER_LDFLAGS@ # If some RTT headers include inline calls to other libraries, we need to specify these here too. 10 | Libs.private: @RTT_LINKFLAGS@ 11 | Cflags: -I${includedir} @RTT_DEFINES@ @RTT_CFLAGS@ @RTT_USER_CFLAGS@ 12 | -------------------------------------------------------------------------------- /rtt/os/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE( GLOB CPPS [^.]*.cpp [^.]*.c) 2 | FILE( GLOB HPPS [^.]*.hpp [^.]*.h [^.]*.inl) 3 | 4 | GLOBAL_ADD_INCLUDE( rtt/os ${HPPS} ) 5 | GLOBAL_ADD_SRC( ${CPPS}) 6 | 7 | # Supported Operating Systems 8 | ADD_SUBDIRECTORY( gnulinux ) 9 | ADD_SUBDIRECTORY( lxrt ) 10 | ADD_SUBDIRECTORY( xenomai ) 11 | ADD_SUBDIRECTORY( ecos ) 12 | ADD_SUBDIRECTORY( macosx ) 13 | ADD_SUBDIRECTORY( win32 ) 14 | 15 | # Supported Hardware 16 | ADD_SUBDIRECTORY( oro_i386 ) 17 | ADD_SUBDIRECTORY( oro_x86_64 ) 18 | ADD_SUBDIRECTORY( oro_powerpc ) 19 | ADD_SUBDIRECTORY( oro_msvc ) 20 | ADD_SUBDIRECTORY( oro_noasm ) 21 | ADD_SUBDIRECTORY( oro_gcc ) 22 | 23 | # Target specific config files 24 | ADD_SUBDIRECTORY( targets ) 25 | -------------------------------------------------------------------------------- /rtt/os/Mutex.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: Peter Soetens Mon May 10 19:10:29 CEST 2004 Mutex.cxx 3 | 4 | Mutex.cxx - description 5 | ------------------- 6 | begin : Mon May 10 2004 7 | copyright : (C) 2004 Peter Soetens 8 | email : peter.soetens@mech.kuleuven.ac.be 9 | 10 | *************************************************************************** 11 | * This library is free software; you can redistribute it and/or * 12 | * modify it under the terms of the GNU General Public * 13 | * License as published by the Free Software Foundation; * 14 | * version 2 of the License. * 15 | * * 16 | * As a special exception, you may use this file as part of a free * 17 | * software library without restriction. Specifically, if other files * 18 | * instantiate templates or use macros or inline functions from this * 19 | * file, or you compile this file and link it with other files to * 20 | * produce an executable, this file does not by itself cause the * 21 | * resulting executable to be covered by the GNU General Public * 22 | * License. This exception does not however invalidate any other * 23 | * reasons why the executable file might be covered by the GNU General * 24 | * Public License. * 25 | * * 26 | * This library is distributed in the hope that it will be useful, * 27 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 28 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 29 | * Lesser General Public License for more details. * 30 | * * 31 | * You should have received a copy of the GNU General Public * 32 | * License along with this library; if not, write to the Free Software * 33 | * Foundation, Inc., 59 Temple Place, * 34 | * Suite 330, Boston, MA 02111-1307 USA * 35 | * * 36 | ***************************************************************************/ 37 | #include 38 | -------------------------------------------------------------------------------- /rtt/os/ecos/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | IF (OROCOS_TARGET STREQUAL "ecos") 2 | FILE( GLOB CPPS [^.]*.cpp [^.]*.c) 3 | FILE( GLOB HPPS [^.]*.hpp [^.]*.h [^.]*.inl) 4 | 5 | GLOBAL_ADD_INCLUDE( rtt/os/ecos ${HPPS}) 6 | GLOBAL_ADD_SRC( ${CPPS}) 7 | ENDIF (OROCOS_TARGET STREQUAL "ecos") -------------------------------------------------------------------------------- /rtt/os/ecos/ecos.cdl: -------------------------------------------------------------------------------- 1 | cdl_package OROPKG_OS_ECOS { 2 | display "OS Abstraction Layer eCos" 3 | description " 4 | This package is used if you want to compile 5 | Orocos for eCos, allowing hard 6 | real-time userspace applications 7 | " 8 | 9 | include_dir rtt/os 10 | parent OROPKG_OS 11 | 12 | compile fosi.c ecos_rec_mutex.c ecosthreads.cxx 13 | 14 | implements OROINT_OS_TARGET 15 | implements OROINT_OS_STDCXXLIB 16 | 17 | define_proc { 18 | puts $::cdl_system_header "\#define CYGBLD_OS_TARGET_H " 19 | } 20 | 21 | cdl_option OROSEM_OS_ECOS_STACK_SIZE { 22 | display "Default stack size of ecos threads" 23 | description " 24 | Set the stack size of the ecos threads 25 | " 26 | flavor data 27 | # FIXME: For some f*cking reason, this doesn't work (although it 28 | # works with the net packages belonging to ecos 29 | # default_value (CYGNUM_HAL_STACK_SIZE_TYPICAL*2) 30 | default_value 65536 31 | } 32 | 33 | # Fixme, inherit this from eCos 34 | cdl_component OROSEM_OS_SCHEDTYPE { 35 | display "Scheduling Algorithm for Threads" 36 | description " 37 | This option sets the default scheduling algorithm for the threads. 38 | Only the CYGSEM_KERNEL_SCHED_MLQUEUE option is tested at this moment. 39 | " 40 | flavor data 41 | default_value { "CYGSEM_KERNEL_SCHED_MLQUEUE" } 42 | legal_values { "CYGSEM_KERNEL_SCHED_MLQUEUE" "CYGSEM_KERNEL_SCHED_BITMAP" } 43 | } 44 | 45 | cdl_option ORONUM_OS_RTOS_HIGHEST_PRIORITY { 46 | display "Highest possible priority" 47 | flavor data 48 | default_value 0 49 | description "All ecos schedulers use 0 as the highest 50 | priority, so you probably don't want to modify this variable" 51 | } 52 | 53 | cdl_option ORONUM_OS_RTOS_LOWEST_PRIORITY { 54 | display "Lowest possible priority" 55 | flavor data 56 | default_value CYGNUM_KERNEL_SCHED_PRIORITIES-1 57 | description "Lowest priority as configured by user. You 58 | probably don't want to modify this variable." 59 | } 60 | 61 | # Added by KG (reminder of kernel space modules?) 62 | # implements OROINT_OS_MAIN 63 | # requires OROPKG_SUPPORT_ECOS 64 | } 65 | -------------------------------------------------------------------------------- /rtt/os/ecos/ecos.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: Peter Soetens Wed Jan 18 14:11:39 CET 2006 ecos.h 3 | 4 | ecos.h - description 5 | ------------------- 6 | begin : Wed January 18 2006 7 | copyright : (C) 2006 Peter Soetens 8 | email : peter.soetens@mech.kuleuven.be 9 | 10 | *************************************************************************** 11 | * This library is free software; you can redistribute it and/or * 12 | * modify it under the terms of the GNU General Public * 13 | * License as published by the Free Software Foundation; * 14 | * version 2 of the License. * 15 | * * 16 | * As a special exception, you may use this file as part of a free * 17 | * software library without restriction. Specifically, if other files * 18 | * instantiate templates or use macros or inline functions from this * 19 | * file, or you compile this file and link it with other files to * 20 | * produce an executable, this file does not by itself cause the * 21 | * resulting executable to be covered by the GNU General Public * 22 | * License. This exception does not however invalidate any other * 23 | * reasons why the executable file might be covered by the GNU General * 24 | * Public License. * 25 | * * 26 | * This library is distributed in the hope that it will be useful, * 27 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 28 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 29 | * General Public License for more details. * 30 | * * 31 | * You should have received a copy of the GNU General Public * 32 | * License along with this library; if not, write to the Free Software * 33 | * Foundation, Inc., 59 Temple Place, * 34 | * Suite 330, Boston, MA 02111-1307 USA * 35 | * * 36 | ***************************************************************************/ 37 | -------------------------------------------------------------------------------- /rtt/os/ecos/ecos_rec_mutex.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: 3 | 4 | ecos_rec_mutex.h - description 5 | ------------------- 6 | begin : Jan 21 2006 7 | copyright : (C) 2006 Klaas Gadeyne 8 | email : firstname lastname at fmtc be 9 | 10 | *************************************************************************** 11 | * This library is free software; you can redistribute it and/or * 12 | * modify it under the terms of the GNU Lesser General Public * 13 | * License as published by the Free Software Foundation; either * 14 | * version 2.1 of the License, or (at your option) any later version. * 15 | * * 16 | * This library is distributed in the hope that it will be useful, * 17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 19 | * Lesser General Public License for more details. * 20 | * * 21 | * You should have received a copy of the GNU Lesser General Public * 22 | * License along with this library; if not, write to the Free Software * 23 | * Foundation, Inc., 59 Temple Place, * 24 | * Suite 330, Boston, MA 02111-1307 USA * 25 | * * 26 | ***************************************************************************/ 27 | 28 | 29 | #ifndef ORO_OS_ECOS_REC_MUTEX_HPP 30 | #define ORO_OS_ECOS_REC_MUTEX_HPP 31 | 32 | #include 33 | 34 | #ifdef __cplusplus 35 | extern "C" 36 | { 37 | #endif 38 | 39 | typedef struct 40 | { 41 | cyg_mutex_t mutex; 42 | cyg_handle_t owner; 43 | cyg_uint32 count; 44 | } 45 | cyg_recursive_mutex_t; 46 | 47 | /// Initialize recursive mutex 48 | void cyg_recursive_mutex_init( cyg_recursive_mutex_t *mx ); 49 | 50 | /// Lock recursive mutex 51 | bool cyg_recursive_mutex_lock( cyg_recursive_mutex_t *mx ); 52 | 53 | /// Trylock 54 | bool cyg_recursive_mutex_trylock( cyg_recursive_mutex_t *mx ); 55 | 56 | /// Unlock 57 | void cyg_recursive_mutex_unlock( cyg_recursive_mutex_t *mx ); 58 | 59 | /// Destroy 60 | void cyg_recursive_mutex_destroy( cyg_recursive_mutex_t *mx ); 61 | 62 | #ifdef __cplusplus 63 | } 64 | #endif // __cplusplus 65 | 66 | #endif 67 | -------------------------------------------------------------------------------- /rtt/os/ecos/fosi.c: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: Peter Soetens Mon Jan 10 15:59:15 CET 2005 fosi.c 3 | 4 | fosi.c - description 5 | ------------------- 6 | begin : Mon January 10 2005 7 | copyright : (C) 2005 Peter Soetens 8 | email : peter.soetens@mech.kuleuven.ac.be 9 | 10 | *************************************************************************** 11 | * This library is free software; you can redistribute it and/or * 12 | * modify it under the terms of the GNU Lesser General Public * 13 | * License as published by the Free Software Foundation; either * 14 | * version 2.1 of the License, or (at your option) any later version. * 15 | * * 16 | * This library is distributed in the hope that it will be useful, * 17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 19 | * Lesser General Public License for more details. * 20 | * * 21 | * You should have received a copy of the GNU Lesser General Public * 22 | * License along with this library; if not, write to the Free Software * 23 | * Foundation, Inc., 59 Temple Place, * 24 | * Suite 330, Boston, MA 02111-1307 USA * 25 | * * 26 | ***************************************************************************/ 27 | 28 | #include 29 | #include 30 | #include 31 | 32 | #undef rtos_printf 33 | int rtos_printf(const char *fmt, ...) 34 | { 35 | va_list list; 36 | char printkbuf [2000]; 37 | printkbuf[0] = '\0'; 38 | va_start (list, fmt); 39 | vsprintf(printkbuf, fmt, list); 40 | va_end (list); 41 | return printf(printkbuf); 42 | } 43 | -------------------------------------------------------------------------------- /rtt/os/gnulinux/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | IF (OROCOS_TARGET STREQUAL "gnulinux") 2 | FILE( GLOB CPPS [^.]*.cpp [^.]*.c) 3 | FILE( GLOB HPPS [^.]*.hpp [^.]*.h [^.]*.inl) 4 | 5 | GLOBAL_ADD_INCLUDE( rtt/os/gnulinux ${HPPS}) 6 | GLOBAL_ADD_SRC( ${CPPS}) 7 | ENDIF (OROCOS_TARGET STREQUAL "gnulinux") -------------------------------------------------------------------------------- /rtt/os/gnulinux/fosi.c: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: Peter Soetens Mon Jan 10 15:59:15 CET 2005 fosi.c 3 | 4 | fosi.c - description 5 | ------------------- 6 | begin : Mon January 10 2005 7 | copyright : (C) 2005 Peter Soetens 8 | email : peter.soetens@mech.kuleuven.ac.be 9 | 10 | *************************************************************************** 11 | * This library is free software; you can redistribute it and/or * 12 | * modify it under the terms of the GNU General Public * 13 | * License as published by the Free Software Foundation; * 14 | * version 2 of the License. * 15 | * * 16 | * As a special exception, you may use this file as part of a free * 17 | * software library without restriction. Specifically, if other files * 18 | * instantiate templates or use macros or inline functions from this * 19 | * file, or you compile this file and link it with other files to * 20 | * produce an executable, this file does not by itself cause the * 21 | * resulting executable to be covered by the GNU General Public * 22 | * License. This exception does not however invalidate any other * 23 | * reasons why the executable file might be covered by the GNU General * 24 | * Public License. * 25 | * * 26 | * This library is distributed in the hope that it will be useful, * 27 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 28 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 29 | * Lesser General Public License for more details. * 30 | * * 31 | * You should have received a copy of the GNU General Public * 32 | * License along with this library; if not, write to the Free Software * 33 | * Foundation, Inc., 59 Temple Place, * 34 | * Suite 330, Boston, MA 02111-1307 USA * 35 | * * 36 | ***************************************************************************/ 37 | 38 | 39 | #include "fosi.h" 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /rtt/os/gnulinux/traces/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ### Trace with lttng-ust 2 | 3 | IF (NOT OROBLD_DISABLE_LTTNG_UST) 4 | 5 | MESSAGE("Building tracing lib.") 6 | 7 | INCLUDE_DIRECTORIES( ${Lttng_ust_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}) 8 | ADD_LIBRARY( orocos-rtt-traces-${OROCOS_TARGET} SHARED "lttng_ust.c") 9 | SET_TARGET_PROPERTIES( orocos-rtt-traces-${OROCOS_TARGET} PROPERTIES 10 | SOVERSION "${RTT_VERSION_MAJOR}.${RTT_VERSION_MINOR}" 11 | VERSION "${RTT_VERSION}") 12 | TARGET_LINK_LIBRARIES( orocos-rtt-traces-${OROCOS_TARGET} ${Lttng_ust_LIBRARIES}) 13 | 14 | INSTALL(TARGETS orocos-rtt-traces-${OROCOS_TARGET} 15 | LIBRARY DESTINATION lib) 16 | 17 | ENDIF(NOT OROBLD_DISABLE_LTTNG_UST) 18 | 19 | -------------------------------------------------------------------------------- /rtt/os/gnulinux/traces/lttng_ust.c: -------------------------------------------------------------------------------- 1 | 2 | #define TRACEPOINT_CREATE_PROBES 3 | #include "lttng_ust.h" 4 | -------------------------------------------------------------------------------- /rtt/os/gnulinux/traces/lttng_ust.tp: -------------------------------------------------------------------------------- 1 | TRACEPOINT_EVENT 2 | ( 3 | /* provider name */ 4 | orocos_rtt, 5 | /* tracepoint name */ 6 | thread_scope, 7 | /* arguments passed to the tracepoint */ 8 | TP_ARGS(int, on_off), 9 | /* the fields */ 10 | TP_FIELDS 11 | ( 12 | ctf_integer(int, value, on_off) 13 | ) 14 | ) 15 | -------------------------------------------------------------------------------- /rtt/os/lxrt/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | IF (OROCOS_TARGET STREQUAL "lxrt") 2 | FILE( GLOB CPPS [^.]*.cpp [^.]*.c) 3 | FILE( GLOB HPPS [^.]*.hpp [^.]*.h [^.]*.inl) 4 | 5 | GLOBAL_ADD_INCLUDE( rtt/os/lxrt ${HPPS}) 6 | GLOBAL_ADD_SRC( ${CPPS}) 7 | ENDIF (OROCOS_TARGET STREQUAL "lxrt") -------------------------------------------------------------------------------- /rtt/os/macosx/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | IF (OROCOS_TARGET STREQUAL "macosx") 2 | FILE( GLOB CPPS [^.]*.cpp [^.]*.c) 3 | FILE( GLOB HPPS [^.]*.hpp [^.]*.h [^.]*.inl) 4 | 5 | GLOBAL_ADD_INCLUDE( rtt/os/macosx ${HPPS}) 6 | GLOBAL_ADD_SRC( ${CPPS}) 7 | ENDIF (OROCOS_TARGET STREQUAL "macosx") 8 | -------------------------------------------------------------------------------- /rtt/os/macosx/fosi.c: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | copyright : (C) 2008 Klaas Gadeyne 3 | email : firstname dot lastname at gmail dot com 4 | 5 | *************************************************************************** 6 | * This library is free software; you can redistribute it and/or * 7 | * modify it under the terms of the GNU General Public * 8 | * License as published by the Free Software Foundation; * 9 | * version 2 of the License. * 10 | * * 11 | * As a special exception, you may use this file as part of a free * 12 | * software library without restriction. Specifically, if other files * 13 | * instantiate templates or use macros or inline functions from this * 14 | * file, or you compile this file and link it with other files to * 15 | * produce an executable, this file does not by itself cause the * 16 | * resulting executable to be covered by the GNU General Public * 17 | * License. This exception does not however invalidate any other * 18 | * reasons why the executable file might be covered by the GNU General * 19 | * Public License. * 20 | * * 21 | * This library is distributed in the hope that it will be useful, * 22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 24 | * Lesser General Public License for more details. * 25 | * * 26 | * You should have received a copy of the GNU General Public * 27 | * License along with this library; if not, write to the Free Software * 28 | * Foundation, Inc., 59 Temple Place, * 29 | * Suite 330, Boston, MA 02111-1307 USA * 30 | * * 31 | ***************************************************************************/ 32 | 33 | 34 | #include "fosi.h" 35 | -------------------------------------------------------------------------------- /rtt/os/macosx/macosx.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | copyright : (C) 2008 Klaas Gadeyne 3 | email : firstname dot lastname at gmail dot com 4 | 5 | *************************************************************************** 6 | * This library is free software; you can redistribute it and/or * 7 | * modify it under the terms of the GNU General Public * 8 | * License as published by the Free Software Foundation; * 9 | * version 2 of the License. * 10 | * * 11 | * As a special exception, you may use this file as part of a free * 12 | * software library without restriction. Specifically, if other files * 13 | * instantiate templates or use macros or inline functions from this * 14 | * file, or you compile this file and link it with other files to * 15 | * produce an executable, this file does not by itself cause the * 16 | * resulting executable to be covered by the GNU General Public * 17 | * License. This exception does not however invalidate any other * 18 | * reasons why the executable file might be covered by the GNU General * 19 | * Public License. * 20 | * * 21 | * This library is distributed in the hope that it will be useful, * 22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 24 | * Lesser General Public License for more details. * 25 | * * 26 | * You should have received a copy of the GNU General Public * 27 | * License along with this library; if not, write to the Free Software * 28 | * Foundation, Inc., 59 Temple Place, * 29 | * Suite 330, Boston, MA 02111-1307 USA * 30 | * * 31 | ***************************************************************************/ 32 | 33 | /** 34 | * @file macosx.h 35 | * This file indicates that the Mac OS X version of 36 | * orocos headers is installed. 37 | */ 38 | -------------------------------------------------------------------------------- /rtt/os/oro_gcc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE( GLOB CPPS [^.]*.cpp [^.]*.c) 2 | FILE( GLOB HPPS [^.]*.hpp [^.]*.h [^.]*.inl) 3 | 4 | GLOBAL_ADD_INCLUDE( rtt/os/oro_gcc ${HPPS}) 5 | GLOBAL_ADD_SRC( ${CPPS}) 6 | -------------------------------------------------------------------------------- /rtt/os/oro_i386/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE( GLOB CPPS [^.]*.cpp [^.]*.c) 2 | FILE( GLOB HPPS [^.]*.hpp [^.]*.h [^.]*.inl) 3 | 4 | GLOBAL_ADD_INCLUDE( rtt/os/oro_i386 ${HPPS}) 5 | GLOBAL_ADD_SRC( ${CPPS}) 6 | -------------------------------------------------------------------------------- /rtt/os/oro_msvc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE( GLOB CPPS [^.]*.cpp [^.]*.c) 2 | FILE( GLOB HPPS [^.]*.hpp [^.]*.h [^.]*.inl) 3 | 4 | GLOBAL_ADD_INCLUDE( rtt/os/oro_msvc ${HPPS}) 5 | GLOBAL_ADD_SRC( ${CPPS}) 6 | -------------------------------------------------------------------------------- /rtt/os/oro_noasm/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE( GLOB HPPS [^.]*.hpp [^.]*.h [^.]*.inl) 2 | 3 | GLOBAL_ADD_INCLUDE( rtt/os/oro_noasm ${HPPS}) 4 | -------------------------------------------------------------------------------- /rtt/os/oro_powerpc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE( GLOB CPPS [^.]*.cpp [^.]*.c) 2 | FILE( GLOB HPPS [^.]*.hpp [^.]*.h [^.]*.inl) 3 | 4 | GLOBAL_ADD_INCLUDE( rtt/os/oro_powerpc ${HPPS}) 5 | GLOBAL_ADD_SRC( ${CPPS}) 6 | -------------------------------------------------------------------------------- /rtt/os/oro_x86_64/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE( GLOB CPPS [^.]*.cpp [^.]*.c) 2 | FILE( GLOB HPPS [^.]*.hpp [^.]*.h [^.]*.inl) 3 | 4 | GLOBAL_ADD_INCLUDE( rtt/os/oro_x86_64 ${HPPS}) 5 | GLOBAL_ADD_SRC( ${CPPS}) 6 | -------------------------------------------------------------------------------- /rtt/os/targets/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | GLOBAL_ADD_INCLUDE( rtt/os/targets ${CMAKE_CURRENT_BINARY_DIR}/rtt-target.h) 3 | GLOBAL_ADD_INCLUDE( rtt/os/targets ${CMAKE_CURRENT_BINARY_DIR}/${OROCOS_TARGET}-config.h) 4 | -------------------------------------------------------------------------------- /rtt/os/targets/README: -------------------------------------------------------------------------------- 1 | The target files in this directory contain the defines which were 2 | enabled when the orocos-rtt- library was built. You require 3 | these defines when including RTT headers in your application. 4 | 5 | One target file is included by rtt-target.h, which was included by 6 | rtt-config.h. Target files may be hand written or automatically be 7 | generated by the RTT build system and describe which features were on 8 | or off and which OS layer was selected. 9 | 10 | This directory structure allows to have multiple configurations 11 | (targets) share the same header files in the same location. The user 12 | can choose a configuration by setting -DOROCOS_TARGET= where 13 | is a filename in this directory, for example: 14 | 15 | -DOROCOS_TARGET=lxrt 16 | 17 | When the pkg-config tool is used to query for the --cflags, the 18 | -DOROCOS_TARGET option is automatically presented. In case no 19 | OROCOS_TARGET define is given, a default is selected. 20 | 21 | This system was introduced to ease packaging and installing for 22 | multiple targets on the same system, in the same directory structure. 23 | 24 | -------------------------------------------------------------------------------- /rtt/os/tlsf/COPYING: -------------------------------------------------------------------------------- 1 | LICENSE INFORMATION 2 | 3 | TLSF is released as LGPL and GPL. A copy of both licences can be found in this 4 | directoy. For the GPL licence, the following exception applies. 5 | 6 | 7 | TLSF is free software; you can redistribute it and/or modify it under terms of 8 | the GNU General Public License as published by the Free Software Foundation; 9 | either version 2, or (at your option) any later version. TLSF is distributed 10 | in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the 11 | implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See 12 | the GNU General Public License for more details. You should have received a 13 | copy of the GNU General Public License along with TLSF; see file COPYING. If 14 | not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, 15 | USA. 16 | 17 | As a special exception, including TLSF header files in a file, or linking with 18 | other files objects to produce an executable application, is merely considered 19 | normal use of the library, and does *not* fall under the heading of "derived 20 | work". Therfore does not by itself cause the resulting executable application 21 | to be covered by the GNU General Public License. This exception does not 22 | however invalidate any other reasons why the executable file might be covered 23 | by the GNU Public License. 24 | -------------------------------------------------------------------------------- /rtt/os/tlsf/Makefile: -------------------------------------------------------------------------------- 1 | WARNINGS = -Wextra -Wall -Wwrite-strings -Wstrict-prototypes \ 2 | -Wmissing-prototypes -Wno-long-long -Wstrict-aliasing=2 3 | 4 | CFLAGS+= -g -O2 -I$(TLSF_PATH) $(WARNINGS) 5 | CFLAGS+= -DTLSF_USE_LOCKS=1 6 | CFLAGS+= -DUSE_MMAP=1 7 | CFLAGS+= -DUSE_SBRK=1 8 | 9 | # CFLAGS+=-ftest-coverage -fprofile-arcs 10 | CC=gcc 11 | 12 | all: tlsf.o 13 | 14 | tlsf.o: tlsf.h tlsf.c Makefile 15 | 16 | clean: 17 | $(RM) -rf *.o *~ *.c.gcov *.gcda *.gcno 18 | 19 | indent: 20 | indent -kr -l120 -br -ce -npsl -nut -i4 *.[hc] 21 | 22 | -------------------------------------------------------------------------------- /rtt/os/tlsf/tlsf.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Two Levels Segregate Fit memory allocator (TLSF) 3 | * Version 2.4.4 4 | * 5 | * Written by Miguel Masmano Tello 6 | * 7 | * Thanks to Ismael Ripoll for his suggestions and reviews 8 | * 9 | * Copyright (C) 2008, 2007, 2006, 2005, 2004 10 | * 11 | * This code is released using a dual license strategy: GPL/LGPL 12 | * You can choose the licence that better fits your requirements. 13 | * 14 | * Released under the terms of the GNU General Public License Version 2.0 15 | * Released under the terms of the GNU Lesser General Public License Version 2.1 16 | * 17 | */ 18 | 19 | #ifndef _TLSF_H_ 20 | #define _TLSF_H_ 21 | 22 | /* We avoid name clashes with other projects and 23 | * only make the required function available 24 | */ 25 | #include "../fosi.h" 26 | #define tlsf_malloc oro_rt_malloc 27 | #define tlsf_free oro_rt_free 28 | #define tlsf_realloc oro_rt_realloc 29 | #define tlsf_calloc oro_rt_calloc 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | #ifdef ORO_MEMORY_POOL 36 | extern size_t init_memory_pool(size_t, void *); 37 | extern size_t get_used_size(void *); 38 | extern size_t get_used_size_mp(); 39 | extern size_t get_max_size(void *); 40 | extern size_t get_max_size_mp(); 41 | extern void destroy_memory_pool(void *); 42 | extern size_t add_new_area(void *, size_t, void *); 43 | extern void *malloc_ex(size_t, void *); 44 | extern void free_ex(void *, void *); 45 | extern void *realloc_ex(void *, size_t, void *); 46 | extern void *calloc_ex(size_t, size_t, void *); 47 | #endif 48 | 49 | extern void *tlsf_malloc(size_t size); 50 | extern void tlsf_free(void *ptr); 51 | extern void *tlsf_realloc(void *ptr, size_t size); 52 | extern void *tlsf_calloc(size_t nelem, size_t elem_size); 53 | 54 | #ifdef __cplusplus 55 | } 56 | #endif 57 | 58 | #endif 59 | -------------------------------------------------------------------------------- /rtt/os/traces.h: -------------------------------------------------------------------------------- 1 | #ifndef RTT_OS_TRACES_H 2 | #define RTT_OS_TRACES_H 3 | 4 | #include "../rtt-config.h" 5 | 6 | #if defined(HAVE_LTTNG_UST) && defined(OROPKG_OS_GNULINUX) 7 | #include 8 | #else 9 | #define tracepoint(provider, tracepoint, ...) 10 | #define tracepoint_context(provider, tracepoint, ...) 11 | #endif 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /rtt/os/win32/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | IF (OROCOS_TARGET STREQUAL "win32") 2 | FILE( GLOB CPPS [^.]*.cpp [^.]*.c) 3 | FILE( GLOB HPPS [^.]*.hpp [^.]*.h [^.]*.inl) 4 | 5 | GLOBAL_ADD_INCLUDE( rtt/os/win32 ${HPPS}) 6 | GLOBAL_ADD_SRC( ${CPPS}) 7 | ENDIF (OROCOS_TARGET STREQUAL "win32") -------------------------------------------------------------------------------- /rtt/os/win32/dlfcn.h: -------------------------------------------------------------------------------- 1 | /* 2 | * dlfcn-win32 3 | * Copyright (c) 2007 Ramiro Polla 4 | * 5 | * This library is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2.1 of the License, or (at your option) any later version. 9 | * 10 | * This library is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * Lesser General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Lesser General Public 16 | * License along with this library; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18 | */ 19 | 20 | #ifndef DLFCN_H 21 | #define DLFCN_H 22 | 23 | #include "../../rtt-config.h" 24 | 25 | /* POSIX says these are implementation-defined. 26 | * To simplify use with Windows API, we treat them the same way. 27 | */ 28 | 29 | #ifndef RTLD_LAZY 30 | #define RTLD_LAZY 0 31 | #endif 32 | #ifndef RTLD_NOW 33 | #define RTLD_NOW 0 34 | #endif 35 | 36 | #ifndef RTLD_GLOBAL 37 | #define RTLD_GLOBAL (1 << 1) 38 | #endif 39 | #ifndef RTLD_LOCAL 40 | #define RTLD_LOCAL (1 << 2) 41 | #endif 42 | 43 | /* These two were added in The Open Group Base Specifications Issue 6. 44 | * Note: All other RTLD_* flags in any dlfcn.h are not standard compliant. 45 | */ 46 | 47 | #define RTLD_DEFAULT 0 48 | #define RTLD_NEXT 0 49 | 50 | #ifdef __cplusplus 51 | extern "C" { 52 | #endif 53 | 54 | RTT_API void *dlopen ( const char *file, int mode ); 55 | RTT_API int dlclose( void *handle ); 56 | RTT_API void *dlsym ( void *handle, const char *name ); 57 | RTT_API char *dlerror( void ); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif /* DLFCN_H */ 64 | -------------------------------------------------------------------------------- /rtt/os/xenomai/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | IF (OROCOS_TARGET STREQUAL "xenomai") 2 | FILE( GLOB CPPS [^.]*.cpp [^.]*.c) 3 | FILE( GLOB HPPS [^.]*.hpp [^.]*.h [^.]*.inl) 4 | 5 | GLOBAL_ADD_INCLUDE( rtt/os/xenomai ${HPPS}) 6 | GLOBAL_ADD_SRC( ${CPPS}) 7 | ENDIF (OROCOS_TARGET STREQUAL "xenomai") -------------------------------------------------------------------------------- /rtt/os/xenomai/fosi.c: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: Peter Soetens Mon Jan 10 15:59:15 CET 2005 fosi.c 3 | 4 | fosi.c - description 5 | ------------------- 6 | begin : Mon January 10 2005 7 | copyright : (C) 2005 Peter Soetens 8 | email : peter.soetens@mech.kuleuven.ac.be 9 | 10 | *************************************************************************** 11 | * This library is free software; you can redistribute it and/or * 12 | * modify it under the terms of the GNU General Public * 13 | * License as published by the Free Software Foundation; * 14 | * version 2 of the License. * 15 | * * 16 | * As a special exception, you may use this file as part of a free * 17 | * software library without restriction. Specifically, if other files * 18 | * instantiate templates or use macros or inline functions from this * 19 | * file, or you compile this file and link it with other files to * 20 | * produce an executable, this file does not by itself cause the * 21 | * resulting executable to be covered by the GNU General Public * 22 | * License. This exception does not however invalidate any other * 23 | * reasons why the executable file might be covered by the GNU General * 24 | * Public License. * 25 | * * 26 | * This library is distributed in the hope that it will be useful, * 27 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 28 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 29 | * Lesser General Public License for more details. * 30 | * * 31 | * You should have received a copy of the GNU General Public * 32 | * License along with this library; if not, write to the Free Software * 33 | * Foundation, Inc., 59 Temple Place, * 34 | * Suite 330, Boston, MA 02111-1307 USA * 35 | * * 36 | ***************************************************************************/ 37 | 38 | #define OROBLD_OS_INTERNAL 39 | #include "os/fosi.h" 40 | -------------------------------------------------------------------------------- /rtt/os/xenomai/xenomai.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: Peter Soetens Wed Jan 18 14:11:39 CET 2006 xenomai.h 3 | 4 | xenomai.h - description 5 | ------------------- 6 | begin : Wed January 18 2006 7 | copyright : (C) 2006 Peter Soetens 8 | email : peter.soetens@mech.kuleuven.be 9 | 10 | *************************************************************************** 11 | * This library is free software; you can redistribute it and/or * 12 | * modify it under the terms of the GNU General Public * 13 | * License as published by the Free Software Foundation; * 14 | * version 2 of the License. * 15 | * * 16 | * As a special exception, you may use this file as part of a free * 17 | * software library without restriction. Specifically, if other files * 18 | * instantiate templates or use macros or inline functions from this * 19 | * file, or you compile this file and link it with other files to * 20 | * produce an executable, this file does not by itself cause the * 21 | * resulting executable to be covered by the GNU General Public * 22 | * License. This exception does not however invalidate any other * 23 | * reasons why the executable file might be covered by the GNU General * 24 | * Public License. * 25 | * * 26 | * This library is distributed in the hope that it will be useful, * 27 | * but WITHOUT ANY WARRANTY; without even the implied warranty of * 28 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 29 | * Lesser General Public License for more details. * 30 | * * 31 | * You should have received a copy of the GNU General Public * 32 | * License along with this library; if not, write to the Free Software * 33 | * Foundation, Inc., 59 Temple Place, * 34 | * Suite 330, Boston, MA 02111-1307 USA * 35 | * * 36 | ***************************************************************************/ 37 | 38 | 39 | -------------------------------------------------------------------------------- /rtt/plugin/.gitignore: -------------------------------------------------------------------------------- 1 | pluginpath.cpp 2 | -------------------------------------------------------------------------------- /rtt/plugin/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | if ( PLUGINS_ENABLE ) 3 | 4 | # Do this first. 5 | if (NOT DEFAULT_PLUGIN_PATH) 6 | message("No default plugin path given, setting it to ${CMAKE_INSTALL_PREFIX}/lib/orocos.") 7 | message("Define the DEFAULT_PLUGIN_PATH cmake variable to override this.") 8 | set(DEFAULT_PLUGIN_PATH "${CMAKE_INSTALL_PREFIX}/lib/orocos") 9 | endif() 10 | 11 | configure_file( pluginpath.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/pluginpath.cpp @ONLY ) 12 | 13 | if (NOT ${CMAKE_CURRENT_BINARY_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR} ) 14 | # This to reduce upgrade pains for in-tree upgraders: 15 | execute_process( COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_CURRENT_SOURCE_DIR}/pluginpath.cpp ) 16 | endif() 17 | 18 | FILE( GLOB CPPS [^.]*.cpp ) 19 | FILE( GLOB HPPS [^.]*.hpp [^.]*.h [^.]*.inl) 20 | GLOBAL_ADD_INCLUDE( rtt/plugin ${HPPS}) 21 | GLOBAL_ADD_SRC( ${CPPS} ${CMAKE_CURRENT_BINARY_DIR}/pluginpath.cpp ) 22 | 23 | endif( PLUGINS_ENABLE ) 24 | -------------------------------------------------------------------------------- /rtt/scripting/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | IF (PLUGINS_ENABLE_SCRIPTING) 3 | FILE( GLOB CPPS [^.]*.cpp ) 4 | FILE( GLOB HPPS [^.]*.hpp [^.]*.h [^.]*.inl) 5 | 6 | GLOBAL_ADD_INCLUDE( rtt/scripting ${HPPS}) 7 | # Due to generation of some .h files in build directories, we also need to include some build dirs in our include paths. 8 | INCLUDE_DIRECTORIES(BEFORE ${PROJ_SOURCE_DIR} ${PROJ_SOURCE_DIR}/rtt ${PROJ_SOURCE_DIR}/rtt/os ${PROJ_SOURCE_DIR}/rtt/os/${OROCOS_TARGET} ) 9 | INCLUDE_DIRECTORIES(BEFORE ${PROJ_BINARY_DIR}/rtt ${PROJ_BINARY_DIR}/rtt/os ${PROJ_BINARY_DIR}/rtt/os/${OROCOS_TARGET} ) 10 | INCLUDE_DIRECTORIES(BEFORE ${PROJ_BINARY_DIR}/rtt/scripting ) 11 | INCLUDE_DIRECTORIES(BEFORE ${PROJ_BINARY_DIR}/rtt/typekit ) # For rtt-typekit-config.h 12 | 13 | SET(RTT_DEFINITIONS "${OROCOS-RTT_DEFINITIONS}") 14 | set(DLL_EXPORT_PREFIX scripting) 15 | ADD_RTT_PLUGIN( rtt-scripting ${RTT_VERSION} ${CPPS}) 16 | GLOBAL_ADD_INCLUDE( rtt/scripting ${CMAKE_CURRENT_BINARY_DIR}/rtt-scripting-config.h) 17 | 18 | 19 | ENDIF (PLUGINS_ENABLE_SCRIPTING) 20 | -------------------------------------------------------------------------------- /rtt/transports/corba/OrocosTypes.idl: -------------------------------------------------------------------------------- 1 | #ifndef ORO_OROCOS_TYPES_IDL 2 | #define ORO_OROCOS_TYPES_IDL 3 | 4 | #ifdef CORBA_IS_TAO 5 | //resolves LNK2005 6 | #include 7 | #endif 8 | 9 | module RTT 10 | { 11 | module corba 12 | { 13 | 14 | // use to convert std::pair 15 | struct Pair { 16 | any t1; 17 | any t2; 18 | }; 19 | 20 | // Classical Orocos type 21 | typedef sequence CAnySequence; 22 | // use to convert std::map 23 | typedef sequence PairSeq; 24 | }; 25 | 26 | }; 27 | 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /rtt/transports/corba/Service.idl: -------------------------------------------------------------------------------- 1 | #ifndef ORO_CORBA_SERVICE_PROVIDER_IDL 2 | #define ORO_CORBA_SERVICE_PROVIDER_IDL 3 | 4 | #ifdef CORBA_IS_TAO 5 | //resolves LNK2005 6 | #include 7 | #endif 8 | 9 | #include "ConfigurationInterface.idl" 10 | #include "OperationInterface.idl" 11 | #include "DataFlow.idl" 12 | 13 | module RTT 14 | { 15 | module corba 16 | { 17 | 18 | interface CService; 19 | struct CServiceDescription; 20 | typedef sequence CServices; 21 | typedef sequence CServiceDescriptions; 22 | 23 | /** 24 | * Complete description of a Service 25 | * @ingroup CompIDL 26 | */ 27 | struct CServiceDescription 28 | { 29 | string name; 30 | string description; 31 | COperationInterface::COperationDescriptions operations; 32 | CConfigurationInterface::CPropertyNames properties; 33 | CConfigurationInterface::CAttributeNames attributes; 34 | CDataFlowInterface::CPortDescriptions ports; 35 | 36 | CServices children; 37 | CServiceDescriptions children_descriptions; 38 | }; 39 | 40 | /** 41 | * An Orocos Service which hosts operations, attributes and properties. 42 | * @ingroup CompIDL 43 | */ 44 | interface CService : COperationInterface, CConfigurationInterface, CDataFlowInterface 45 | { 46 | typedef sequence CProviderNames; 47 | 48 | /** 49 | * Return the name of this service. 50 | */ 51 | string getName(); 52 | 53 | /** 54 | * Return the description of this service. 55 | */ 56 | string getServiceDescription(); 57 | 58 | /** 59 | * Return the full description of this service 60 | * that includes all Service objects 61 | */ 62 | CServiceDescription getCServiceDescription(); 63 | 64 | /** 65 | * Get a list of all the child services this service offers. 66 | */ 67 | CProviderNames getProviderNames( ); 68 | 69 | /** 70 | * Get a child service this service provides. 71 | */ 72 | CService getService( in string name ); 73 | 74 | /** 75 | * Has this service a child service with given name ? 76 | */ 77 | boolean hasService( in string name ); 78 | 79 | }; 80 | 81 | }; 82 | }; 83 | #endif 84 | -------------------------------------------------------------------------------- /rtt/transports/corba/StdException.idl: -------------------------------------------------------------------------------- 1 | #ifndef ORO_CORBA_CPPEXCEPTION_IDL 2 | #define ORO_CORBA_CPPEXCEPTION_IDL 3 | 4 | #ifdef CORBA_IS_TAO 5 | //resolves LNK2005 6 | #include 7 | #endif 8 | 9 | module RTT 10 | { 11 | module corba 12 | { 13 | /* Used to pass std::exception across the CORBA boundary 14 | */ 15 | exception StdException 16 | { 17 | string what; 18 | }; 19 | }; 20 | }; 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /rtt/transports/corba/orocos-rtt-corba.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@CMAKE_INSTALL_PREFIX@ 2 | exec_prefix=${prefix} # defining another variable in terms of the first 3 | libdir=${exec_prefix}/lib 4 | includedir=${prefix}/include 5 | 6 | Name: Orocos-RTT-CORBA # human-readable name 7 | Description: Open Robot Control Software: Real-Time Tookit # human-readable description 8 | Requires: orocos-rtt-@OROCOS_TARGET@ @RTT_CORBA_PKGCONFIG_DEPENDS@ 9 | Version: @RTT_VERSION@ 10 | Libs: -L${libdir} -lorocos-rtt-corba-@OROCOS_TARGET@ @RTT_CORBA_USER_LINKFLAGS@ 11 | Libs.private: @RTT_CORBA_LINKFLAGS@ 12 | Cflags: -I${includedir}/rtt/transports/corba @RTT_CORBA_DEFINES@ @RTT_CORBA_CFLAGS@ 13 | -------------------------------------------------------------------------------- /rtt/transports/mqueue/orocos-rtt-mqueue.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@CMAKE_INSTALL_PREFIX@ 2 | exec_prefix=${prefix} # defining another variable in terms of the first 3 | libdir=${exec_prefix}/lib 4 | includedir=${prefix}/include 5 | 6 | Name: Orocos-RTT-MQUEUE # human-readable name 7 | Description: Open Robot Control Software: Real-Time Tookit # human-readable description 8 | Requires: orocos-rtt-@OROCOS_TARGET@ 9 | Version: @RTT_VERSION@ 10 | Libs: -L${libdir} -lorocos-rtt-mqueue-@OROCOS_TARGET@ @MQ_LDFLAGS@ 11 | Libs.private: 12 | Cflags: -I${includedir}/rtt/mqueue @MQ_CFLAGS@ 13 | -------------------------------------------------------------------------------- /rtt/typekit/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | IF (PLUGINS_ENABLE_TYPEKIT) 2 | if (NOT PLUGINS_STD_TYPES_SUPPORT) 3 | ADD_DEFINITIONS( -DRTT_NO_STD_TYPES ) 4 | endif (NOT PLUGINS_STD_TYPES_SUPPORT) 5 | 6 | FILE( GLOB CPPS [^.]*.cpp ) 7 | FILE( GLOB HPPS [^.]*.hpp [^.]*.h [^.]*.inl) 8 | 9 | GLOBAL_ADD_INCLUDE( rtt/typekit ${HPPS}) 10 | GLOBAL_ADD_INCLUDE( rtt/typekit ${CMAKE_CURRENT_BINARY_DIR}/rtt-typekit-config.h) 11 | 12 | # Due to generation of some .h files in build directories, we also need to include some build dirs in our include paths. 13 | INCLUDE_DIRECTORIES(BEFORE ${PROJ_SOURCE_DIR} ${PROJ_SOURCE_DIR}/rtt ${PROJ_SOURCE_DIR}/rtt/os ${PROJ_SOURCE_DIR}/rtt/os/${OROCOS_TARGET} ) 14 | INCLUDE_DIRECTORIES(BEFORE ${PROJ_BINARY_DIR}/rtt ${PROJ_BINARY_DIR}/rtt/os ${PROJ_BINARY_DIR}/rtt/os/${OROCOS_TARGET} ) 15 | INCLUDE_DIRECTORIES(BEFORE ${PROJ_BINARY_DIR}/rtt/typekit ) 16 | 17 | #SET_SOURCE_FILES_PROPERTIES( ${CPPS} PROPERTIES COMPILE_FLAGS "-fvisibility=hidden") 18 | 19 | SET(RTT_DEFINITIONS "${OROCOS-RTT_DEFINITIONS}") 20 | set(DLL_EXPORT_PREFIX typekit) 21 | ADD_RTT_TYPEKIT(rtt-typekit ${RTT_VERSION} ${CPPS}) 22 | 23 | ENDIF (PLUGINS_ENABLE_TYPEKIT) 24 | -------------------------------------------------------------------------------- /rtt/types/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE( GLOB CPPS [^.]*.cpp ) 2 | FILE( GLOB HPPS [^.]*.hpp [^.]*.h [^.]*.inl) 3 | 4 | GLOBAL_ADD_INCLUDE( rtt/types ${HPPS}) 5 | GLOBAL_ADD_SRC( ${CPPS}) 6 | -------------------------------------------------------------------------------- /tests/.gitignore: -------------------------------------------------------------------------------- 1 | *.log 2 | *.ior 3 | *-crash.txt 4 | -------------------------------------------------------------------------------- /tests/AddUnitTest.cmake: -------------------------------------------------------------------------------- 1 | MACRO( ADD_UNIT_TEST TEST_NAME TEST_LIST LIBS) 2 | 3 | ADD_EXECUTABLE( ${TEST_NAME} test-runner.cpp ${TEST_NAME}.cpp ${ARGN} ) 4 | TARGET_LINK_LIBRARIES( ${TEST_NAME} orocos-rtt-${OROCOS_TARGET}_dynamic 5 | ${LIBS}) 6 | SET_TARGET_PROPERTIES( ${TEST_NAME} PROPERTIES 7 | COMPILE_DEFINITIONS "${COMPILE_DEFS}" ) 8 | ADD_TEST( ${TEST_NAME} ${RUNTIME_OUTPUT_DIRECTORY}/${TEST_NAME}) 9 | list(APPEND ${TEST_LIST} ${TEST_NAME}) 10 | ENDMACRO(ADD_UNIT_TEST TEST_NAME TEST_LIST LIBS) 11 | 12 | MACRO( ADD_SIMPLE_TEST TEST_NAME TEST_LIST LIBS) 13 | 14 | ADD_EXECUTABLE( ${TEST_NAME} ${TEST_NAME}.cpp ${ARGN} ) 15 | TARGET_LINK_LIBRARIES( ${TEST_NAME} orocos-rtt-${OROCOS_TARGET}_dynamic 16 | ${LIBS}) 17 | SET_TARGET_PROPERTIES( ${TEST_NAME} PROPERTIES 18 | COMPILE_DEFINITIONS "${COMPILE_DEFS}" ) 19 | ADD_TEST( ${TEST_NAME} ${RUNTIME_OUTPUT_DIRECTORY}/${TEST_NAME}) 20 | list(APPEND ${TEST_LIST} ${TEST_NAME}) 21 | ENDMACRO(ADD_SIMPLE_TEST TEST_NAME TEST_LIST LIBS) 22 | 23 | -------------------------------------------------------------------------------- /tests/cleanup_corba.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: The SourceWorks Tue Sep 7 00:54:57 CEST 2010 test-main.cpp 3 | 4 | test-main.cpp - description 5 | ------------------- 6 | begin : Tue September 07 2010 7 | copyright : (C) 2010 The SourceWorks 8 | email : peter@thesourceworks.com 9 | 10 | *************************************************************************** 11 | * * 12 | * This program is free software; you can redistribute it and/or modify * 13 | * it under the terms of the GNU General Public License as published by * 14 | * the Free Software Foundation; either version 2 of the License, or * 15 | * (at your option) any later version. * 16 | * * 17 | ***************************************************************************/ 18 | 19 | 20 | #include 21 | #include 22 | #include 23 | 24 | 25 | int main(int argc, char** argv) 26 | { 27 | int i = system("[ ! -r corba-ipc-server.pid ] || kill -9 $(cat corba-ipc-server.pid)"); 28 | i = system("[ ! -r corba-mqueue-ipc-server.pid ] || kill -9 $(cat corba-mqueue-ipc-server.pid)"); 29 | usleep(500000); 30 | return i; 31 | } 32 | -------------------------------------------------------------------------------- /tests/corba_mqueue_test.hpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: The SourceWorks Tue Sep 7 00:54:57 CEST 2010 corba_mqueue_test.hpp 3 | 4 | corba_mqueue_test.hpp - description 5 | ------------------- 6 | begin : Tue September 07 2010 7 | copyright : (C) 2010 The SourceWorks 8 | email : peter@thesourceworks.com 9 | 10 | *************************************************************************** 11 | * * 12 | * This program is free software; you can redistribute it and/or modify * 13 | * it under the terms of the GNU General Public License as published by * 14 | * the Free Software Foundation; either version 2 of the License, or * 15 | * (at your option) any later version. * 16 | * * 17 | ***************************************************************************/ 18 | 19 | 20 | #ifndef CORBA_TEST_H 21 | #define CORBA_TEST_H 22 | 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | 31 | using namespace RTT; 32 | using namespace RTT::detail; 33 | 34 | class CorbaMQueueTest 35 | { 36 | public: 37 | CorbaMQueueTest() { this->setUp(); } 38 | ~CorbaMQueueTest() { this->tearDown(); } 39 | 40 | TaskContext* tc; 41 | TaskContext* t2; 42 | TaskContext* tp; 43 | corba::TaskContextServer* ts; 44 | TaskContext* tp2; 45 | corba::TaskContextServer* ts2; 46 | 47 | base::PortInterface* signalled_port; 48 | void new_data_listener(base::PortInterface* port); 49 | 50 | // Ports 51 | InputPort* mr1; 52 | OutputPort* mw1; 53 | InputPort* mr2; 54 | OutputPort* mw2; 55 | 56 | void setupCorba(); 57 | void cleanupCorba(); 58 | 59 | void setUp(); 60 | void tearDown(); 61 | 62 | void testPortConnections(); 63 | void testPortProxying(); 64 | 65 | // helper test functions 66 | void testPortDataConnection(); 67 | void testPortBufferConnection(); 68 | void testPortDisconnected(); 69 | }; 70 | 71 | #endif 72 | -------------------------------------------------------------------------------- /tests/datasource_fixture.cpp: -------------------------------------------------------------------------------- 1 | #include "datasource_fixture.hpp" 2 | 3 | bool operator==(const AType& a, const AType& b) 4 | { 5 | return a.a == b.a && a.b == b.b && a.c == b.c && a.ai == b.ai && std::equal(a.vd.begin(), a.vd.end(), b.vd.begin()); 6 | } 7 | 8 | std::ostream& operator<<(std::ostream& os, const AType& a) 9 | { 10 | os << "{ " << a.a << ", " << a.b << ", " << a.c << ", < "; 11 | for (unsigned int i = 0; i != a.ai.size(); ++i) 12 | os << a.ai[i] << " "; 13 | os <<">, ( "; 14 | for (unsigned int i = 0; i != a.vd.size(); ++i) 15 | os << a.vd[i] << " "; 16 | os << ") }"; 17 | return os; 18 | } 19 | std::ostream& operator<<(std::ostream& os, const ATypes& as) 20 | { 21 | os << '['; 22 | for (unsigned int i = 0; i != as.size(); ++i) 23 | os << as[i] << (i+1 == as.size() ? "]": ", "); 24 | return os; 25 | } 26 | bool operator==(const BType& a, const BType& b) 27 | { 28 | return a.a == b.a && a.b == b.b && strcmp(a.c, b.c) == 0 && a.ai[3] == b.ai[3] && a.vd[3] == b.vd[3]; 29 | } 30 | 31 | std::ostream& operator<<(std::ostream& os, const BType& a) 32 | { 33 | os << "{ " << a.a << ", " << a.b << ", " << a.c << ", < "; 34 | for (unsigned int i = 0; i != 5; ++i) 35 | os << a.ai[i] << " "; 36 | os <<">, ( "; 37 | for (unsigned int i = 0; i != 10; ++i) 38 | os << a.vd[i] << " "; 39 | os << ") }"; 40 | return os; 41 | } 42 | std::ostream& operator<<(std::ostream& os, const BTypes& bs) 43 | { 44 | os << '['; 45 | for (unsigned int i = 0; i != bs.size(); ++i) 46 | os << bs[i] << (i+1 == bs.size() ? "]": ", "); 47 | return os; 48 | } 49 | 50 | bool operator==(const CType& a, const CType& b) 51 | { 52 | return a.a == b.a && a.b == b.b && std::equal(a.av.begin(), a.av.end(), b.av.begin()) && std::equal(a.bv.begin(), a.bv.end(), b.bv.begin()); 53 | } 54 | 55 | std::ostream& operator<<(std::ostream& os, const CType& a) 56 | { 57 | os << "{ (" << a.a << ", " << endl <<" " << a.b << endl<< " )"<,"<"< 24 | #include 25 | #include 26 | #include 27 | #include 28 | 29 | using namespace RTT; 30 | using namespace RTT::detail; 31 | 32 | class DispatchTest 33 | { 34 | public: 35 | Parser parser; 36 | TaskContext gtc; 37 | TaskContext mtc; 38 | TaskContext ltc; 39 | 40 | Service* createObject(std::string a, CommandProcessor* cp); 41 | 42 | bool true_genCom() { return true; } 43 | bool false_genCom() { return false; } 44 | bool true_gen() const { return true; } 45 | bool false_gen() const { return false; } 46 | 47 | bool bool_gen( bool b ) const { return b; } 48 | 49 | bool assertBool( bool ); 50 | bool assertMsg( bool, const std::string& msg); 51 | void doDispatch( const std::string& prog, TaskContext* ); 52 | void finishDispatch( TaskContext* , std::string ); 53 | public: 54 | DispatchTest(); 55 | ~DispatchTest(){ tearDown();}; 56 | 57 | void setUp(); 58 | void tearDown(); 59 | 60 | void testParseDispatch(); 61 | void testDispatchCondition(); 62 | void testDispatchMany(); 63 | void testDispatchFailure(); 64 | void testDispatchAnd(); 65 | void testDispatchTry(); 66 | void testDispatchUntil(); 67 | void testDispatchUntilFail(); 68 | 69 | }; 70 | 71 | #endif 72 | -------------------------------------------------------------------------------- /tests/logger_test.hpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: Peter Soetens Mon Jan 10 15:59:18 CET 2005 logger_test.hpp 3 | 4 | logger_test.hpp - description 5 | ------------------- 6 | begin : Mon January 10 2005 7 | copyright : (C) 2005 Peter Soetens 8 | email : peter.soetens@mech.kuleuven.ac.be 9 | 10 | *************************************************************************** 11 | * * 12 | * This program is free software; you can redistribute it and/or modify * 13 | * it under the terms of the GNU General Public License as published by * 14 | * the Free Software Foundation; either version 2 of the License, or * 15 | * (at your option) any later version. * 16 | * * 17 | ***************************************************************************/ 18 | 19 | 20 | #ifndef LOGGERTEST_H 21 | #define LOGGERTEST_H 22 | 23 | #include 24 | 25 | using namespace RTT; 26 | 27 | 28 | class LoggerTest 29 | { 30 | public: 31 | Logger* logger; 32 | 33 | LoggerTest(){setUp();}; 34 | ~LoggerTest(){tearDown();}; 35 | void setUp(); 36 | void tearDown(); 37 | 38 | void testStartStop(); 39 | void testLogEnv(); 40 | void testNewLog(); 41 | void testThreadLog(); 42 | }; 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /tests/operations_fixture0.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: The SourceWorks Tue Sep 7 00:54:57 CEST 2010 operations_fixture0.cpp 3 | 4 | operations_fixture0.cpp - description 5 | ------------------- 6 | begin : Tue September 07 2010 7 | copyright : (C) 2010 The SourceWorks 8 | email : peter@thesourceworks.com 9 | 10 | *************************************************************************** 11 | * * 12 | * This program is free software; you can redistribute it and/or modify * 13 | * it under the terms of the GNU General Public License as published by * 14 | * the Free Software Foundation; either version 2 of the License, or * 15 | * (at your option) any later version. * 16 | * * 17 | ***************************************************************************/ 18 | 19 | 20 | #define BOOST_FUSION_INVOKE_MAX_ARITY 8 21 | #define BOOST_FUSION_UNFUSED_MAX_ARITY 7 22 | 23 | #include "operations_fixture.hpp" 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | 30 | using namespace std; 31 | using namespace boost; 32 | using namespace RTT; 33 | using namespace RTT::detail; 34 | 35 | void OperationsFixture::createOperationCallerFactories0(TaskContext* target) 36 | { 37 | Service::shared_ptr to = target->provides("methods"); 38 | // ClientThread 39 | to->addOperation("m0r", &OperationsFixture::m0r, this).doc("M0r"); 40 | to->addOperation("m0cr", &OperationsFixture::m0cr, this).doc("M0cr"); 41 | to->addOperation("vm0", &OperationsFixture::vm0, this).doc("VoidM0"); 42 | to->addOperation("m0", &OperationsFixture::m0, this).doc("M0"); 43 | to->addOperation("m0except", &OperationsFixture::m0except, this, RTT::ClientThread ).doc("M0Except"); 44 | 45 | // OwnThread 46 | to->addOperation("o0r", &OperationsFixture::m0r, this, OwnThread).doc("M0r"); 47 | to->addOperation("o0cr", &OperationsFixture::m0cr, this, OwnThread).doc("M0cr"); 48 | to->addOperation("o0", &OperationsFixture::m0, this, OwnThread).doc("M0"); 49 | to->addOperation("o0except", &OperationsFixture::m0except, this, OwnThread).doc("M0Except"); 50 | } 51 | -------------------------------------------------------------------------------- /tests/operations_fixture1.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: The SourceWorks Tue Sep 7 00:54:57 CEST 2010 operations_fixture1.cpp 3 | 4 | operations_fixture1.cpp - description 5 | ------------------- 6 | begin : Tue September 07 2010 7 | copyright : (C) 2010 The SourceWorks 8 | email : peter@thesourceworks.com 9 | 10 | *************************************************************************** 11 | * * 12 | * This program is free software; you can redistribute it and/or modify * 13 | * it under the terms of the GNU General Public License as published by * 14 | * the Free Software Foundation; either version 2 of the License, or * 15 | * (at your option) any later version. * 16 | * * 17 | ***************************************************************************/ 18 | 19 | 20 | #define BOOST_FUSION_INVOKE_MAX_ARITY 8 21 | #define BOOST_FUSION_UNFUSED_MAX_ARITY 7 22 | 23 | #include "operations_fixture.hpp" 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | 30 | using namespace std; 31 | using namespace boost; 32 | using namespace RTT; 33 | using namespace RTT::detail; 34 | 35 | void OperationsFixture::createOperationCallerFactories1(TaskContext* target) 36 | { 37 | Service::shared_ptr to = target->provides("methods"); 38 | // ClientThread 39 | to->addOperation("m1r", &OperationsFixture::m1r, this).doc("M1r"); 40 | to->addOperation("m1cr", &OperationsFixture::m1cr, this).doc("M1cr"); 41 | 42 | to->addOperation("m1", &OperationsFixture::m1, this).doc("M1").arg("a", "ad"); 43 | 44 | // OwnThread 45 | to->addOperation("o1r", &OperationsFixture::m1r, this, OwnThread).doc("M1r"); 46 | to->addOperation("o1cr", &OperationsFixture::m1cr, this, OwnThread).doc("M1cr"); 47 | 48 | to->addOperation("o1", &OperationsFixture::m1, this, OwnThread).doc("M1").arg("a", "ad"); 49 | 50 | // Extra operations for RemoteOperationCaller tests 51 | to->addOperation("returnAddressOf", &OperationsFixture::returnAddressOf, this); 52 | to->addOperation("returnAddressOfConst", &OperationsFixture::returnAddressOfConst, this); 53 | to->addOperation("sleepAndIncOwnThread", &OperationsFixture::sleepAndIncrement, this, RTT::OwnThread); 54 | } 55 | -------------------------------------------------------------------------------- /tests/operations_fixture2.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: The SourceWorks Tue Sep 7 00:54:57 CEST 2010 operations_fixture2.cpp 3 | 4 | operations_fixture2.cpp - description 5 | ------------------- 6 | begin : Tue September 07 2010 7 | copyright : (C) 2010 The SourceWorks 8 | email : peter@thesourceworks.com 9 | 10 | *************************************************************************** 11 | * * 12 | * This program is free software; you can redistribute it and/or modify * 13 | * it under the terms of the GNU General Public License as published by * 14 | * the Free Software Foundation; either version 2 of the License, or * 15 | * (at your option) any later version. * 16 | * * 17 | ***************************************************************************/ 18 | 19 | 20 | #define BOOST_FUSION_INVOKE_MAX_ARITY 8 21 | #define BOOST_FUSION_UNFUSED_MAX_ARITY 7 22 | 23 | #include "operations_fixture.hpp" 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | 30 | using namespace std; 31 | using namespace boost; 32 | using namespace RTT; 33 | using namespace RTT::detail; 34 | 35 | void OperationsFixture::createOperationCallerFactories2(TaskContext* target) 36 | { 37 | Service::shared_ptr to = target->provides("methods"); 38 | // ClientThread 39 | to->addOperation("m2", &OperationsFixture::m2, this).doc("M2").arg("a", "ad").arg("a", "ad"); 40 | 41 | // OwnThread 42 | to->addOperation("o2", &OperationsFixture::m2, this, OwnThread).doc("M2").arg("a", "ad").arg("a", "ad"); 43 | } 44 | -------------------------------------------------------------------------------- /tests/operations_fixture3.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: The SourceWorks Tue Sep 7 00:54:57 CEST 2010 operations_fixture3.cpp 3 | 4 | operations_fixture3.cpp - description 5 | ------------------- 6 | begin : Tue September 07 2010 7 | copyright : (C) 2010 The SourceWorks 8 | email : peter@thesourceworks.com 9 | 10 | *************************************************************************** 11 | * * 12 | * This program is free software; you can redistribute it and/or modify * 13 | * it under the terms of the GNU General Public License as published by * 14 | * the Free Software Foundation; either version 2 of the License, or * 15 | * (at your option) any later version. * 16 | * * 17 | ***************************************************************************/ 18 | 19 | 20 | #define BOOST_FUSION_INVOKE_MAX_ARITY 8 21 | #define BOOST_FUSION_UNFUSED_MAX_ARITY 7 22 | 23 | #include "operations_fixture.hpp" 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | 30 | using namespace std; 31 | using namespace boost; 32 | using namespace RTT; 33 | using namespace RTT::detail; 34 | 35 | void OperationsFixture::createOperationCallerFactories3(TaskContext* target) 36 | { 37 | Service::shared_ptr to = target->provides("methods"); 38 | // ClientThread 39 | to->addOperation("m3", &OperationsFixture::m3, this).doc("M3").arg("a", "ad").arg("a", "ad").arg("a", "ad"); 40 | 41 | // OwnThread 42 | to->addOperation("o3", &OperationsFixture::m3, this, OwnThread).doc("M3").arg("a", "ad").arg("a", "ad").arg("a", "ad"); 43 | } 44 | -------------------------------------------------------------------------------- /tests/operations_fixture4.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: The SourceWorks Tue Sep 7 00:54:57 CEST 2010 operations_fixture4.cpp 3 | 4 | operations_fixture4.cpp - description 5 | ------------------- 6 | begin : Tue September 07 2010 7 | copyright : (C) 2010 The SourceWorks 8 | email : peter@thesourceworks.com 9 | 10 | *************************************************************************** 11 | * * 12 | * This program is free software; you can redistribute it and/or modify * 13 | * it under the terms of the GNU General Public License as published by * 14 | * the Free Software Foundation; either version 2 of the License, or * 15 | * (at your option) any later version. * 16 | * * 17 | ***************************************************************************/ 18 | 19 | 20 | #define BOOST_FUSION_INVOKE_MAX_ARITY 8 21 | #define BOOST_FUSION_UNFUSED_MAX_ARITY 7 22 | 23 | #include "operations_fixture.hpp" 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | 30 | using namespace std; 31 | using namespace boost; 32 | using namespace RTT; 33 | using namespace RTT::detail; 34 | 35 | void OperationsFixture::createOperationCallerFactories4(TaskContext* target) 36 | { 37 | Service::shared_ptr to = target->provides("methods"); 38 | // ClientThread 39 | to->addOperation("m4", &OperationsFixture::m4, this).doc("M4").arg("a", "ad").arg("a", "ad").arg("a", "ad").arg("a", "ad"); 40 | 41 | // OwnThread 42 | to->addOperation("o4", &OperationsFixture::m4, this, OwnThread).doc("M4").arg("a", "ad").arg("a", "ad").arg("a", "ad").arg("a", "ad"); 43 | } 44 | -------------------------------------------------------------------------------- /tests/operations_fixture5.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: The SourceWorks Tue Sep 7 00:54:57 CEST 2010 operations_fixture5.cpp 3 | 4 | operations_fixture5.cpp - description 5 | ------------------- 6 | begin : Tue September 07 2010 7 | copyright : (C) 2010 The SourceWorks 8 | email : peter@thesourceworks.com 9 | 10 | *************************************************************************** 11 | * * 12 | * This program is free software; you can redistribute it and/or modify * 13 | * it under the terms of the GNU General Public License as published by * 14 | * the Free Software Foundation; either version 2 of the License, or * 15 | * (at your option) any later version. * 16 | * * 17 | ***************************************************************************/ 18 | 19 | 20 | #define BOOST_FUSION_INVOKE_MAX_ARITY 8 21 | #define BOOST_FUSION_UNFUSED_MAX_ARITY 7 22 | 23 | #include "operations_fixture.hpp" 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | 30 | using namespace std; 31 | using namespace boost; 32 | using namespace RTT; 33 | using namespace RTT::detail; 34 | 35 | void OperationsFixture::createOperationCallerFactories5(TaskContext* target) 36 | { 37 | Service::shared_ptr to = target->provides("methods"); 38 | // ClientThread 39 | to->addOperation("m5", &OperationsFixture::m5, this).doc("M5").arg("a", "ad").arg("a", "ad").arg("a", "ad").arg("a", "ad").arg("a", "ad"); 40 | 41 | // OwnThread 42 | to->addOperation("o5", &OperationsFixture::m5, this, OwnThread).doc("M5").arg("a", "ad").arg("a", "ad").arg("a", "ad").arg("a", "ad").arg("a", "ad"); 43 | } 44 | -------------------------------------------------------------------------------- /tests/operations_fixture6.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: The SourceWorks Tue Sep 7 00:54:57 CEST 2010 operations_fixture6.cpp 3 | 4 | operations_fixture6.cpp - description 5 | ------------------- 6 | begin : Tue September 07 2010 7 | copyright : (C) 2010 The SourceWorks 8 | email : peter@thesourceworks.com 9 | 10 | *************************************************************************** 11 | * * 12 | * This program is free software; you can redistribute it and/or modify * 13 | * it under the terms of the GNU General Public License as published by * 14 | * the Free Software Foundation; either version 2 of the License, or * 15 | * (at your option) any later version. * 16 | * * 17 | ***************************************************************************/ 18 | 19 | 20 | #define BOOST_FUSION_INVOKE_MAX_ARITY 8 21 | #define BOOST_FUSION_UNFUSED_MAX_ARITY 7 22 | 23 | #include "operations_fixture.hpp" 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | 30 | using namespace std; 31 | using namespace boost; 32 | using namespace RTT; 33 | using namespace RTT::detail; 34 | 35 | void OperationsFixture::createOperationCallerFactories6(TaskContext* target) 36 | { 37 | Service::shared_ptr to = target->provides("methods"); 38 | // ClientThread 39 | to->addOperation("m6", &OperationsFixture::m6, this).doc("M6").arg("a", "ad").arg("a", "ad").arg("a", "ad").arg("a", "ad").arg("a", "ad").arg("a", "ad"); 40 | 41 | // OwnThread 42 | to->addOperation("o6", &OperationsFixture::m6, this, OwnThread).doc("M6").arg("a", "ad").arg("a", "ad").arg("a", "ad").arg("a", "ad").arg("a", "ad").arg("a", "ad"); 43 | } 44 | -------------------------------------------------------------------------------- /tests/operations_fixture7.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: The SourceWorks Tue Sep 7 00:54:57 CEST 2010 operations_fixture7.cpp 3 | 4 | operations_fixture7.cpp - description 5 | ------------------- 6 | begin : Tue September 07 2010 7 | copyright : (C) 2010 The SourceWorks 8 | email : peter@thesourceworks.com 9 | 10 | *************************************************************************** 11 | * * 12 | * This program is free software; you can redistribute it and/or modify * 13 | * it under the terms of the GNU General Public License as published by * 14 | * the Free Software Foundation; either version 2 of the License, or * 15 | * (at your option) any later version. * 16 | * * 17 | ***************************************************************************/ 18 | 19 | 20 | #define BOOST_FUSION_INVOKE_MAX_ARITY 8 21 | #define BOOST_FUSION_UNFUSED_MAX_ARITY 7 22 | 23 | #include "operations_fixture.hpp" 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | 30 | using namespace std; 31 | using namespace boost; 32 | using namespace RTT; 33 | using namespace RTT::detail; 34 | 35 | void OperationsFixture::createOperationCallerFactories7(TaskContext* target) 36 | { 37 | Service::shared_ptr to = target->provides("methods"); 38 | // ClientThread 39 | to->addOperation("m7", &OperationsFixture::m7, this).doc("M7").arg("a", "ad").arg("a", "ad").arg("a", "ad").arg("a", "ad").arg("a", "ad").arg("a", "ad").arg("a", "ad"); 40 | 41 | // OwnThread 42 | to->addOperation("o7", &OperationsFixture::m7, this, OwnThread).doc("M7").arg("a", "ad").arg("a", "ad").arg("a", "ad").arg("a", "ad").arg("a", "ad").arg("a", "ad").arg("a", "ad"); 43 | } 44 | -------------------------------------------------------------------------------- /tests/property_loading.cpf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 3 5 | 3 3 3 6 | 7 | Bag1 8 | Dimension of the Vector3 9 | 3 3 3 10 | 11 | -2 12 | 3 13 | 9223372036854775807 14 | 18446744073709551615 15 | 16 | -------------------------------------------------------------------------------- /tests/ptr_test.hpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: Peter Soetens Mon Jan 10 15:59:18 CET 2005 buffers_test.hpp 3 | 4 | buffers_test.hpp - description 5 | ------------------- 6 | begin : Mon January 10 2005 7 | copyright : (C) 2005 Peter Soetens 8 | email : peter.soetens@mech.kuleuven.ac.be 9 | 10 | *************************************************************************** 11 | * * 12 | * This program is free software; you can redistribute it and/or modify * 13 | * it under the terms of the GNU General Public License as published by * 14 | * the Free Software Foundation; either version 2 of the License, or * 15 | * (at your option) any later version. * 16 | * * 17 | ***************************************************************************/ 18 | 19 | 20 | #ifndef BUFFERSTEST_H 21 | #define BUFFERSTEST_H 22 | 23 | #include 24 | 25 | class PtrTest 26 | { 27 | public: 28 | 29 | void testReadOnly(); 30 | void testPromotion(); 31 | }; 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /tests/setup_corba.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: The SourceWorks Tue Sep 7 00:54:57 CEST 2010 test-main.cpp 3 | 4 | test-main.cpp - description 5 | ------------------- 6 | begin : Tue September 07 2010 7 | copyright : (C) 2010 The SourceWorks 8 | email : peter@thesourceworks.com 9 | 10 | *************************************************************************** 11 | * * 12 | * This program is free software; you can redistribute it and/or modify * 13 | * it under the terms of the GNU General Public License as published by * 14 | * the Free Software Foundation; either version 2 of the License, or * 15 | * (at your option) any later version. * 16 | * * 17 | ***************************************************************************/ 18 | 19 | 20 | #include 21 | #include 22 | #include 23 | 24 | int main(int argc, char** argv) 25 | { 26 | int i = system("[ ! -r ./corba-ipc-server ] || ./corba-ipc-server &"); 27 | i = system("[ ! -r ./corba-mqueue-ipc-server ] || ./corba-mqueue-ipc-server &"); 28 | usleep(500000); 29 | return i; 30 | } 31 | -------------------------------------------------------------------------------- /tests/specialized_activities.hpp: -------------------------------------------------------------------------------- 1 | #ifndef SPECIALIZED_ACTIVITIES_H 2 | #define SPECIALIZED_ACTIVITIES_H 3 | 4 | #include 5 | 6 | class SpecializedActivities 7 | { 8 | public: 9 | 10 | void testFileDescriptorActivity(); 11 | }; 12 | 13 | #endif 14 | 15 | -------------------------------------------------------------------------------- /tests/taskthread_test.hpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: Peter Soetens Tue Apr 5 16:53:26 CEST 2005 taskthread_test.hpp 3 | 4 | taskthread_test.hpp - description 5 | ------------------- 6 | begin : Tue April 05 2005 7 | copyright : (C) 2005 Peter Soetens 8 | email : peter.soetens@mech.kuleuven.ac.be 9 | 10 | *************************************************************************** 11 | * * 12 | * This program is free software; you can redistribute it and/or modify * 13 | * it under the terms of the GNU General Public License as published by * 14 | * the Free Software Foundation; either version 2 of the License, or * 15 | * (at your option) any later version. * 16 | * * 17 | ***************************************************************************/ 18 | 19 | 20 | 21 | #ifndef TASKSTHREADTEST_H 22 | #define TASKSTHREADTEST_H 23 | 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | using namespace RTT::detail; 30 | 31 | using namespace RTT; 32 | 33 | template 34 | struct TestActivity; 35 | 36 | 37 | /** 38 | * Tests task-thread relationships. 39 | */ 40 | class ActivitiesThreadTest 41 | { 42 | public: 43 | 44 | TestActivity* t_task_np; 45 | TestActivity* t_task_np_bad; 46 | TestActivity* t_task_p; 47 | TestActivity* t_task_slave; 48 | TestActivity* t_task_a; 49 | 50 | ActivitiesThreadTest(){ setUp(); }; 51 | ~ActivitiesThreadTest(){ tearDown(); }; 52 | void setUp(); 53 | void tearDown(); 54 | 55 | #ifndef ORO_EMBEDDED 56 | void testExceptionRecovery(); 57 | #endif 58 | void testThreadConfig(); 59 | void testPeriodic(); 60 | void testNonPeriodic(); 61 | void testSlave(); 62 | void testSequential(); 63 | void testScheduler(); 64 | void testAllocation(); 65 | void testFileDescriptor(); 66 | void testFileDescriptor_NoFD(); 67 | }; 68 | 69 | #endif 70 | -------------------------------------------------------------------------------- /tests/test-corba-main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | using namespace RTT; 7 | using namespace RTT::detail; 8 | 9 | 10 | int ORO_main(int argc, char** argv) 11 | { 12 | TaskContextServer::InitOrb(argc, argv); 13 | TaskContextServer::ThreadOrb(); 14 | sleep(1); 15 | TaskContextServer::ShutdownOrb(true); 16 | TaskContextServer::DestroyOrb(); 17 | return 0; 18 | } 19 | -------------------------------------------------------------------------------- /tests/test-main.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: The SourceWorks Tue Sep 7 00:54:57 CEST 2010 test-main.cpp 3 | 4 | test-main.cpp - description 5 | ------------------- 6 | begin : Tue September 07 2010 7 | copyright : (C) 2010 The SourceWorks 8 | email : peter@thesourceworks.com 9 | 10 | *************************************************************************** 11 | * * 12 | * This program is free software; you can redistribute it and/or modify * 13 | * it under the terms of the GNU General Public License as published by * 14 | * the Free Software Foundation; either version 2 of the License, or * 15 | * (at your option) any later version. * 16 | * * 17 | ***************************************************************************/ 18 | 19 | 20 | #include 21 | #include 22 | 23 | int ORO_main(int argc, char** argv) 24 | { 25 | RTT::log(RTT::Info) << "Hello ORO_main()" << RTT::endlog(); 26 | return 0; 27 | } 28 | -------------------------------------------------------------------------------- /tests/test-runner.hpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: The SourceWorks Tue Sep 7 00:54:57 CEST 2010 test-runner.hpp 3 | 4 | test-runner.hpp - description 5 | ------------------- 6 | begin : Tue September 07 2010 7 | copyright : (C) 2010 The SourceWorks 8 | email : peter@thesourceworks.com 9 | 10 | *************************************************************************** 11 | * * 12 | * This program is free software; you can redistribute it and/or modify * 13 | * it under the terms of the GNU General Public License as published by * 14 | * the Free Software Foundation; either version 2 of the License, or * 15 | * (at your option) any later version. * 16 | * * 17 | ***************************************************************************/ 18 | 19 | 20 | #ifdef WIN32 21 | int setenv(const char *name, const char *value, int overwrite) 22 | { 23 | if (overwrite == 0) 24 | { 25 | char c; 26 | if (GetEnvironmentVariable(name, &c, sizeof (c)) > 0) return 0; 27 | } 28 | 29 | if (SetEnvironmentVariable(name, value) != 0) return 0; 30 | return -1; 31 | } 32 | #endif -------------------------------------------------------------------------------- /tests/testPropMarshVectLegacy.cpf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | velocity limits of the axes, (rad/s) 6 | Dimension of the Vector6 7 | 1 8 | 1 9 | 1 10 | 1 11 | 1 12 | 1 13 | 14 | 15 | -------------------------------------------------------------------------------- /tests/testproject/plugins/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | ADD_LIBRARY(service_plugin SHARED plugins_test_services.cpp) 3 | 4 | # Allows us to build the plugin not in the debug/ or release/ subdir 5 | if (MSVC) 6 | set(PREFIX_HACK PREFIX "../") 7 | endif (MSVC) 8 | 9 | SET_TARGET_PROPERTIES( service_plugin PROPERTIES 10 | VERSION "${RTT_VERSION}" 11 | SOVERSION "${RTT_SOVERSION}" 12 | OUTPUT_NAME service_plugin-${OROCOS_TARGET} 13 | COMPILE_DEFINITIONS "${OROCOS-RTT_DEFINITIONS}" 14 | ${PREFIX_HACK} 15 | ) 16 | IF (UNIX AND NOT APPLE) 17 | SET_TARGET_PROPERTIES( service_plugin PROPERTIES 18 | LINK_FLAGS "-Wl,-zdefs") 19 | ENDIF () 20 | target_link_libraries(service_plugin orocos-rtt-${OROCOS_TARGET}_dynamic) 21 | 22 | 23 | ADD_LIBRARY(global_service_plugin SHARED plugins_test_global_services.cpp) 24 | 25 | SET_TARGET_PROPERTIES( global_service_plugin PROPERTIES 26 | VERSION "${RTT_VERSION}" 27 | SOVERSION "${RTT_SOVERSION}" 28 | OUTPUT_NAME global_service_plugin-${OROCOS_TARGET} 29 | COMPILE_DEFINITIONS "${OROCOS-RTT_DEFINITIONS}" 30 | ${PREFIX_HACK} 31 | ) 32 | IF (UNIX AND NOT APPLE) 33 | SET_TARGET_PROPERTIES( global_service_plugin PROPERTIES 34 | LINK_FLAGS "-Wl,-zdefs") 35 | ENDIF () 36 | target_link_libraries(global_service_plugin orocos-rtt-${OROCOS_TARGET}_dynamic) 37 | -------------------------------------------------------------------------------- /tests/testproject/plugins/plugins_test_global_services.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: The SourceWorks Tue Sep 7 00:54:57 CEST 2010 plugins_test_services.cpp 3 | 4 | plugins_test_services.cpp - description 5 | ------------------- 6 | begin : Tue September 07 2010 7 | copyright : (C) 2010 The SourceWorks 8 | email : peter@thesourceworks.com 9 | 10 | *************************************************************************** 11 | * * 12 | * This program is free software; you can redistribute it and/or modify * 13 | * it under the terms of the GNU General Public License as published by * 14 | * the Free Software Foundation; either version 2 of the License, or * 15 | * (at your option) any later version. * 16 | * * 17 | ***************************************************************************/ 18 | 19 | 20 | #include 21 | #include 22 | 23 | using namespace RTT; 24 | 25 | class GlobalServicePluginTest : public Service 26 | { 27 | public: 28 | GlobalServicePluginTest(TaskContext* tc) : Service("the_global_service", tc) {} 29 | }; 30 | 31 | ORO_GLOBAL_SERVICE_NAMED_PLUGIN( GlobalServicePluginTest, "globalserviceplugin") 32 | -------------------------------------------------------------------------------- /tests/testproject/plugins/plugins_test_services.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: The SourceWorks Tue Sep 7 00:54:57 CEST 2010 plugins_test_services.cpp 3 | 4 | plugins_test_services.cpp - description 5 | ------------------- 6 | begin : Tue September 07 2010 7 | copyright : (C) 2010 The SourceWorks 8 | email : peter@thesourceworks.com 9 | 10 | *************************************************************************** 11 | * * 12 | * This program is free software; you can redistribute it and/or modify * 13 | * it under the terms of the GNU General Public License as published by * 14 | * the Free Software Foundation; either version 2 of the License, or * 15 | * (at your option) any later version. * 16 | * * 17 | ***************************************************************************/ 18 | 19 | 20 | #include 21 | #include 22 | 23 | using namespace RTT; 24 | 25 | class ServicePluginTest : public Service 26 | { 27 | public: 28 | ServicePluginTest(TaskContext* tc) : Service("the_service", tc) {} 29 | }; 30 | 31 | ORO_SERVICE_NAMED_PLUGIN( ServicePluginTest, "serviceplugin") 32 | -------------------------------------------------------------------------------- /tests/testproject/types/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | ADD_LIBRARY(typekit_plugin SHARED plugins_test_types.cpp) 3 | 4 | # Allows us to build the plugin not in the debug/ or release/ subdir 5 | if (MSVC) 6 | set(PREFIX_HACK PREFIX "../") 7 | endif (MSVC) 8 | 9 | SET_TARGET_PROPERTIES( typekit_plugin PROPERTIES 10 | VERSION "${RTT_VERSION}" 11 | SOVERSION "${RTT_SOVERSION}" 12 | OUTPUT_NAME typekit_plugin-${OROCOS_TARGET} 13 | COMPILE_DEFINITIONS "${OROCOS-RTT_DEFINITIONS}" 14 | ${PREFIX_HACK} 15 | ) 16 | IF (UNIX AND NOT APPLE) 17 | SET_TARGET_PROPERTIES( typekit_plugin PROPERTIES 18 | LINK_FLAGS "-Wl,-zdefs") 19 | ENDIF () 20 | target_link_libraries(typekit_plugin orocos-rtt-${OROCOS_TARGET}_dynamic) 21 | 22 | -------------------------------------------------------------------------------- /tests/testproject/types/plugins_test_types.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: The SourceWorks Tue Sep 7 00:54:57 CEST 2010 plugins_test_types.cpp 3 | 4 | plugins_test_types.cpp - description 5 | ------------------- 6 | begin : Tue September 07 2010 7 | copyright : (C) 2010 The SourceWorks 8 | email : peter@thesourceworks.com 9 | 10 | *************************************************************************** 11 | * * 12 | * This program is free software; you can redistribute it and/or modify * 13 | * it under the terms of the GNU General Public License as published by * 14 | * the Free Software Foundation; either version 2 of the License, or * 15 | * (at your option) any later version. * 16 | * * 17 | ***************************************************************************/ 18 | 19 | 20 | /** 21 | * plugins_test_types.cpp 22 | * 23 | * Created on: May 25, 2010 24 | * Author: kaltan 25 | */ 26 | 27 | #include 28 | 29 | class TypesPluginTest : public RTT::types::TypekitPlugin 30 | { 31 | public: 32 | virtual bool loadTypes() { 33 | return true; 34 | } 35 | 36 | virtual bool loadOperators() { 37 | return true; 38 | } 39 | 40 | virtual bool loadConstructors() { 41 | return true; 42 | } 43 | 44 | virtual bool loadGlobals() { return true; } 45 | 46 | virtual std::string getName() { return "TypesPluginTest"; } 47 | 48 | }; 49 | 50 | ORO_TYPEKIT_PLUGIN( TypesPluginTest ) 51 | -------------------------------------------------------------------------------- /tests/testtypes/types/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | ADD_LIBRARY(testtypes_plugin SHARED plugins_test_types.cpp sequence_types.cpp struct_types.cpp array_types.cpp) 3 | 4 | # Allows us to build the plugin not in the debug/ or release/ subdir 5 | if (MSVC) 6 | set(PREFIX_HACK PREFIX "../") 7 | endif (MSVC) 8 | 9 | SET_TARGET_PROPERTIES( testtypes_plugin PROPERTIES 10 | VERSION "${RTT_VERSION}" 11 | SOVERSION "${RTT_SOVERSION}" 12 | OUTPUT_NAME typekit_plugin-${OROCOS_TARGET} 13 | COMPILE_DEFINITIONS "${OROCOS-RTT_DEFINITIONS}" 14 | ${PREFIX_HACK} 15 | ) 16 | IF (UNIX AND NOT APPLE) 17 | SET_TARGET_PROPERTIES( testtypes_plugin PROPERTIES 18 | LINK_FLAGS "-Wl,-zdefs") 19 | ENDIF () 20 | target_link_libraries(testtypes_plugin orocos-rtt-${OROCOS_TARGET}_dynamic ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}) 21 | -------------------------------------------------------------------------------- /tests/testtypes/types/array_types.cpp: -------------------------------------------------------------------------------- 1 | #include "types/Types.hpp" 2 | #include "types/CArrayTypeInfo.hpp" 3 | #include "types/BoostArrayTypeInfo.hpp" 4 | #include "../../datasource_fixture.hpp" 5 | #include 6 | 7 | void loadArrayTypes() 8 | { 9 | // these are all execised by the datasource_fixture: 10 | 11 | // 3 types of arrays: carray, boost array and std::vector 12 | Types()->addType( new CArrayTypeInfo< carray >("int[]") ); 13 | Types()->addType( new BoostArrayTypeInfo< boost::array >("int5") ); 14 | Types()->addType( new SequenceTypeInfo< vector >("ints") ); 15 | 16 | Types()->addType( new CArrayTypeInfo< carray >("double[]") ); 17 | Types()->addType( new CArrayTypeInfo< carray >("char[]") ); 18 | } 19 | -------------------------------------------------------------------------------- /tests/testtypes/types/plugins_test_types.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | #include "types/SequenceTypeInfo.hpp" 5 | #include "../../datasource_fixture.hpp" 6 | 7 | void loadStructTypes(); 8 | void loadSequenceTypes(); 9 | void loadArrayTypes(); 10 | 11 | class TypesPluginTest : public RTT::types::TypekitPlugin 12 | { 13 | public: 14 | virtual bool loadTypes() { 15 | loadStructTypes(); 16 | loadSequenceTypes(); 17 | loadArrayTypes(); 18 | return true; 19 | } 20 | 21 | virtual bool loadOperators() { 22 | return true; 23 | } 24 | 25 | virtual bool loadConstructors() { 26 | return true; 27 | } 28 | 29 | virtual bool loadGlobals() { return true; } 30 | 31 | virtual std::string getName() { return "TypesTest"; } 32 | 33 | }; 34 | 35 | ORO_TYPEKIT_PLUGIN( TypesPluginTest ) 36 | -------------------------------------------------------------------------------- /tests/testtypes/types/sequence_types.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "types/SequenceTypeInfo.hpp" 3 | #include "../../datasource_fixture.hpp" 4 | 5 | void loadSequenceTypes() 6 | { 7 | // sequence of sequences 8 | Types()->addType( new SequenceTypeInfo > >("matrix") ); 9 | 10 | // sequences of the structs 11 | Types()->addType( new SequenceTypeInfo< vector >("ATypes") ); 12 | Types()->addType( new SequenceTypeInfo< vector >("BTypes") ); 13 | Types()->addType( new SequenceTypeInfo< vector >("CTypes") ); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /tests/testtypes/types/struct_types.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "types/StructTypeInfo.hpp" 3 | #include "../../datasource_fixture.hpp" 4 | 5 | void loadStructTypes() 6 | { 7 | // classical structs from datasource fixture 8 | Types()->addType( new StructTypeInfo< AType >("AType") ); 9 | Types()->addType( new StructTypeInfo< BType >("BType") ); 10 | Types()->addType( new StructTypeInfo< CType >("CType") ); 11 | } 12 | -------------------------------------------------------------------------------- /tests/time_test.hpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | tag: Peter Soetens Fri Feb 11 15:59:13 CET 2005 time_test.hpp 3 | 4 | time_test.hpp - description 5 | ------------------- 6 | begin : Fri February 11 2005 7 | copyright : (C) 2005 Peter Soetens 8 | email : peter.soetens@mech.kuleuven.ac.be 9 | 10 | *************************************************************************** 11 | * * 12 | * This program is free software; you can redistribute it and/or modify * 13 | * it under the terms of the GNU General Public License as published by * 14 | * the Free Software Foundation; either version 2 of the License, or * 15 | * (at your option) any later version. * 16 | * * 17 | ***************************************************************************/ 18 | 19 | 20 | 21 | #ifndef TIMETEST_H 22 | #define TIMETEST_H 23 | 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | 30 | class TimeTest 31 | { 32 | public: 33 | RTT::os::TimeService* hbg; 34 | double small_S, normal_S, long_S; 35 | RTT::os::TimeService::ticks small_t, normal_t, long_t; 36 | RTT::nsecs small_ns, normal_ns, long_ns; 37 | 38 | TimeTest(); 39 | ~TimeTest(); 40 | 41 | void testSecondsConversion(); 42 | void testTicksConversion(); 43 | void testTimeProgress(); 44 | void testTimers(); 45 | void testTimerPeriod(); 46 | 47 | }; 48 | 49 | #endif // TIMETEST_H 50 | -------------------------------------------------------------------------------- /tools/scripts/bisect-run: -------------------------------------------------------------------------------- 1 | #!/bin/bash -x 2 | 3 | patch=/tmp/trigger-bug.patch 4 | 5 | # 0 : success 6 | # 125: uncompilable 7 | # 1: failure 8 | 9 | function failure 10 | { 11 | cd .. 12 | patch -p0 -R < $patch 13 | exit 1 14 | } 15 | 16 | function success 17 | { 18 | cd .. 19 | patch -p0 -R < $patch 20 | exit 0 21 | } 22 | 23 | function notbuildable 24 | { 25 | cd .. 26 | patch -p0 -R < $patch 27 | exit 125 28 | } 29 | 30 | patch -p0 < $patch 31 | cd build 32 | make -j2 || notbuildable 33 | make taskcontext-test || notbuildable 34 | ./tests/taskcontext-test || failure 35 | 36 | success 37 | 38 | -------------------------------------------------------------------------------- /tools/scripts/check-headers.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CC=g++ 4 | target=gnulinux 5 | 6 | echo "Run this script from your build directory. It checks the headers for the $target target. Modify this file to change the target." 7 | 8 | if [ "x$*" == "x" ]; then 9 | list=$(find rtt/ -maxdepth 1 -type f -name "*.h" -o -name "*.hpp"); 10 | corbalist=$(find rtt/transports -maxdepth 1 -type f -name "*.h" -o -name "*.hpp"); 11 | else 12 | list=$*; 13 | fi 14 | 15 | tname=$(tempfile -p check -s .cpp) 16 | oname=/tmp/$(basename $tname cpp)s 17 | ln -s ../src rtt 18 | for i in $list $corbalist; do 19 | echo "Checking $i..." 20 | echo -e "#include <$i>\n" > $tname 21 | ${CC} -pipe -Wall -S $tname -I. -I rtt -I src -I src/os -I src/os/$target -I src/transports/corba -o $oname -DOROCOS_TARGET=$target || exit 1 22 | done 23 | rm -f $tname $oname rtt 24 | 25 | -------------------------------------------------------------------------------- /tools/scripts/gpl_header_gen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ "$1" = "" -o "$2" = "" -o "$3" = "" ]; then 4 | echo Generate Free Software Header 5 | echo Usage: $0 \"Copyright holder\" EMail-Address Filename 6 | exit 1 7 | fi 8 | 9 | filename=`basename $3` 10 | 11 | export "LANG=C" 12 | 13 | echo "/***************************************************************************" > $3.tmp.header 14 | echo -e " tag: $1 " `date` " $filename\n" >> $3.tmp.header 15 | echo " $filename - description" >> $3.tmp.header 16 | echo " -------------------" >> $3.tmp.header 17 | echo " begin : "`date "+%a %B %d %Y"` >> $3.tmp.header 18 | echo " copyright : (C) "`date +%Y` $1 >> $3.tmp.header 19 | #echo " copyright : (C) "`date +%Y` `cat /etc/passwd | ( IFS=: ; while read lognam pw id gp fname home sh; do echo $home \"$fname\"; done ) | /bin/grep "/home/$USER" | sed "s/\/home\/$USER\ \"//" | sed "s/,,,\"//"` >> $3.tmp.header 20 | echo " email : "$2 >> $3.tmp.header 21 | echo "" >> $3.tmp.header 22 | echo " ***************************************************************************" >> $3.tmp.header 23 | echo " * *" >> $3.tmp.header 24 | echo " * This program is free software; you can redistribute it and/or modify *" >> $3.tmp.header 25 | echo " * it under the terms of the GNU General Public License as published by *" >> $3.tmp.header 26 | echo " * the Free Software Foundation; either version 2 of the License, or *" >> $3.tmp.header 27 | echo " * (at your option) any later version. *" >> $3.tmp.header 28 | echo " * *" >> $3.tmp.header 29 | echo " ***************************************************************************/" >> $3.tmp.header 30 | echo "" >> $3.tmp.header 31 | echo "" >> $3.tmp.header 32 | 33 | cat $3.tmp.header $3 > $3.tmp.full 34 | mv $3.tmp.full $3 35 | rm $3.tmp.header 36 | -------------------------------------------------------------------------------- /tools/scripts/update-headers.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ "$1" = "" -o "$2" = "" ]; then 4 | echo Generate Free Software Header 5 | echo Usage: $0 \"Copyright holder\" EMail-Address 6 | exit 1 7 | fi 8 | 9 | echo "Updating sources to GPL + exception license ..." 10 | 11 | for m in $(for i in $(find rtt -name "*.c" -o -name "*.h" -o -name "*.hpp" -o -name "*.cpp"); do grep -L "Free Software" $i; done); do 12 | echo $m 13 | tools/scripts/header_gen.sh "$1" "$2" $m 14 | done 15 | 16 | echo "Updating tests to GPL license ..." 17 | for m in $(for i in $(find tests -name "*.hpp" -o -name "*.cpp"); do grep -L "Free Software" $i; done); do 18 | echo $m 19 | tools/scripts/gpl_header_gen.sh "$1" "$2" $m 20 | done 21 | 22 | -------------------------------------------------------------------------------- /tools/scripts/verify-headers.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #if [ "$1" = "" -o "$2" = "" ]; then 4 | # echo Generate Free Software Header 5 | # echo Usage: $0 \"Copyright holder\" EMail-Address 6 | # exit 1 7 | #fi 8 | 9 | echo "Updating sources to GPL + exception license ..." 10 | 11 | for m in $(for i in $(find rtt -name "*.c*" -o -name "*.h*" -o -name "*.in[c|l]" ); do grep -L -E "special exception|Free Software" $i; done); do 12 | echo $m 13 | tools/scripts/header_gen_historic.sh $m 14 | done 15 | 16 | #echo "Updating tests to GPL license ..." 17 | #for m in $(for i in $(find tests -name "*.hpp" -o -name "*.cpp"); do grep -L "Free Software" $i; done); do 18 | # echo $m 19 | #tools/scripts/gpl_header_gen.sh "$1" "$2" $m 20 | #done 21 | 22 | -------------------------------------------------------------------------------- /tools/svn-users.txt: -------------------------------------------------------------------------------- 1 | psoetens Peter Soetens 2 | wmeeusse Wim Meeussen 3 | rsmits Ruben Smits 4 | kgadeyne Klaas Gadeyne 5 | tdelaet Tinne De Laet -------------------------------------------------------------------------------- /tools/vim/README: -------------------------------------------------------------------------------- 1 | 2 | 3 | VIM syntax highliting for .osd files 4 | ====================================== 5 | 6 | 7 | To enable syntax highliting for Orocos state diagram files (.osd): 8 | 9 | 10 | - Copy osd.vim to $(HOMEDIR)/.vim/syntax/ 11 | (or make a symbolic link) 12 | 13 | 14 | - Add the following lines to $(HOMEDIR)/.vim/filetype.vim 15 | 16 | augroup filetypedetect 17 | au BufNewFile,BufRead *.osd setf osd 18 | augroup END 19 | -------------------------------------------------------------------------------- /tools/vim/osd.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: Orocos State Diagram 3 | " Maintainer: Wim Meeussen 4 | " Last Change: 2006 Aug 22 5 | 6 | " For version 5.x: Clear all syntax items 7 | " For version 6.x: Quit when a syntax file was already loaded 8 | if version < 600 9 | syntax clear 10 | elseif exists("b:current_syntax") 11 | finish 12 | endif 13 | 14 | 15 | 16 | " osd keywords 17 | syn keyword osdStatement new delete this do set select 18 | syn keyword osdConditional if then else switch 19 | syn keyword osdType bool double 20 | syn keyword osdExceptions throw try catch 21 | syn keyword osdStorageClass var const 22 | syn keyword osdStructure StateMachine state entry handle exit transitions preconditions 23 | syn keyword osdNumber NPOS 24 | syn keyword osdBoolean true false 25 | 26 | syn region osdString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ 27 | syn region osdCommentL start="//" skip="\\$" end="$" keepend 28 | 29 | 30 | " Default highlighting 31 | if version >= 508 || !exists("did_osd_syntax_inits") 32 | if version < 508 33 | let did_osd_syntax_inits = 1 34 | command -nargs=+ HiLink hi link 35 | else 36 | command -nargs=+ HiLink hi def link 37 | endif 38 | HiLink osdExceptions Exception 39 | HiLink osdConditional Conditional 40 | HiLink osdStatement Statement 41 | HiLink osdType Type 42 | HiLink osdStorageClass StorageClass 43 | HiLink osdStructure Structure 44 | HiLink osdNumber Number 45 | HiLink osdBoolean Boolean 46 | HiLink osdString String 47 | HiLink osdCommentL Comment 48 | delcommand HiLink 49 | endif 50 | 51 | let b:current_syntax = "osd" 52 | 53 | " vim: ts=8 54 | --------------------------------------------------------------------------------