API and IDL

Upgrading OpenSplice

If you are using an older version of OpenSplice DDS and want to upgrade to the latest version we provide some documentation to help you.

API/IDL Guides

When you begin development on OpenSplice DDS you will need to consult the API documentation. C++ and Java have the original DCPS API support (referred to as Classic) and the newer ISO C++ and Java 5 PSM APIs. The C++ and Java APIs will have been built with a specific ORB and a specific compiler […]

Can you build a DDS application on Windows using CYGWIN?

I want to use the same program code as for an application on a Linux-PC (GNU GCC/G ++). Is this possible? For OpenSplice we use the cygwin environment only for tools like make, flex, bison and the bash scripting: the OpenSplice source code is compiled with the Microsoft compiler from within the cygwin environment. This […]

OpenSplice C# .NET SDK Migration

Building CSharp examples for .NET Framework on legacy systems. The CSharp examples target .NET Standard 2.0 (for class libraries) and .NET Core App 3.1 (for applications), per Microsoft guidelines for maximum portability amongst all .NET implementations (.NET Core, .NET Framework, Mono, Xamarin etc). However there are situations where users still desire to use .NET Framework […]

Disposing stale data in DDS

Normally, when data is stale in DDS it is disposed automatically. There are other ways that this can occur though. When the auto-dispose option in the QoS is enabled then when a subscriber detects that a writer has become unresponsive (or has been deleted) then the data is disposed implicitly for all instances of that […]

OpenSplice with MATLAB/Simulink/LabView

API guides MATLAB Demonstration Videos A number of demonstration videos have been created to walk you through the process of developing DDS applications with MATLAB. Installation of MATLAB components Startup OpenSplice Shapes Example Overview How to Process IDL Creating a Topic Block Creating a Reader Block Real-time Simulation Write a Tracking Circle Use Filter Expression […]

Using OpenSplice DDS with Python

Do you want to model your DDS applications in Python? This article explains how to start using OpenSplice DDS with Python. OpenSplice DDS comes with a Python DCPS API that provides Python classes allowing you model your DDS application using Python. The Python DCPS API is a native Python binding that supports full DDS functionality. […]

Setting up Microsoft Visual Studio to use ISOC++2 with OpenSplice DDS

This article explains how to set up Microsoft Visual Studio to build ISOC++2 OpenSplice DDS based applications. Setting up Microsoft Visual Studio to use ISOC++2 with OpenSplice DDS Setting up Microsoft Visual Studio to use ISOC++2 for OpenSplice DDS applications can seem complex. This article gives a step by step overview of the process. [cmtoc_table_of_contents] […]

Compiling ISOC++2 Applications under Visual Studio: Release and Debug Configuration

This article gives the settings you need to compile and run an ISO C++ OpenSplice application using Visual Studio for Release and Debug builds For a more detailed explanation of general setup see setting up Microsoft Visual Studio to use ISOC++2 with OpenSplice DDS.  In order to successfully compile and run a ISOC++2 OpenSplice application, […]

Crash of Visual Studio 2013 when using C# and OpenSplice 6.7 or newer

Issue with Visual Studio If you’re using the initial release of Visual Studio 2013 (version 12.0.21005.1) in combination of OpenSplice 6.7 or newer you might experience a crash of Visual Studio. Adding the C# assembly to your project causes this crash to happen. You will get a popup that Visual Studio has stopped working and […]

OpenSplice API/IDL User Questions

This article contains some API/IDL-related, submitted OpenSplice questions that may prove useful to others. See the OpenSplice documentation for more information. Is the OpenSplice DDS Java API Operating System independent? All the OpenSplice API’s are Operating System independent as the source code is provided, allowing you to recompile with your preferred compiler. An additional advantage […]

Freeing sequences using C API in OpenSplice DDS

Every DDS object allocated by an __alloc() operation must be released by using the DDS_free() operation. The example below shows how this works for a sequence. Declaration on Heap 1 DDS_StringSeq* query_parameters; 2 3 query_parameters = DDS_StringSeq__alloc(); 4 query_parameters-buffer = DDS_StringSeq_allocbuf (1); 5 query_parameters-buffer[0] = DDS_string_alloc (3); 6 sprintf (query_parameters-buffer[0], “%d”, numExe); 7 8 (usage?) […]

How do I destroy a Content Filtered Topic using the ISO C++ API?

Memory Allocation and Deletion in ISO C++ In the ISO C++ API, memory allocation and deletion is handled automatically. Entity classes (such as the ContentFilteredTopic) contain an underlying ‘smart pointer’ to keep track of the references to that particular instance of the class. Once there are no remaining references to the instance ( i.e. it […]