OpenSplice DDS

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 […]

Future Airborne Capability Environment (FACE)

ZettaScale FACE™ Certified TSS Product for Both C++ and JAVA APIs Reduces Time, Cost and Risk for Avionics Systems Integration. The Future Airborne Capability Environment (FACE™) Consortium  is taking a leadership role in developing open standards for avionics systems of the future so helping to make military aviation computing operations more robust, interoperable, portable and secure. ZettaScale is […]

Getting Started with OpenSplice

Getting Started Guide If you are new to OpenSplice DDS then the OpenSplice DDS Getting Started Guide (v6 pdf | html) (v7 pdf | html) is a good place to start. The Getting Started Guide provides: OpenSplice Launcher The OpenSplice launcher is a tool that will allow you to configure OpenSplice and run the examples […]

Deployment Guides for Configuration

Deployment Guide is the essential reference for configuring OpenSplice DDS. It also includes information on the various configuration elements and attributes available to configure OpenSplice.

DDSI configuration without multicast using unicast peers

When not using multicast, you must define your set of ‘peers’ as automatic discovery relies on multicast. So the ‘ddsi2’ section in the configuration should look like this; <DDSI2Service name=”ddsi2″> <General> <NetworkInterfaceAddress>AUTO</NetworkInterfaceAddress> <AllowMulticast>false</AllowMulticast> <EnableMulticastLoopback>false</EnableMulticastLoopback> <CoexistWithNativeNetworking>false</CoexistWithNativeNetworking> </General> <Compatibility> <StandardsConformance>lax</StandardsConformance> </Compatibility> <Discovery> <Peers> <Peer Address=”name_or_address_of_machine1″/> <Peer Address=”name_or_address_of_machine2″/> <Peer Address=”name_or_address_of_machine3″/> </Peers> </Discovery> </DDSI2Service> If you run multiple applications […]

Can you tell the difference between historical samples and new samples?

After calling wait_for_historical_data writers may still be producing new data during that the time in takes to complete. Can you tell the difference between historical samples and new samples (where the latter might be defined as “written since I called wait_for_historical_data”)? Answer There is no such ‘break’ between the samples received so you may have […]

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 […]

Transient Durability for Single Process

Federated Deployment TRANSIENT durability is typically exploited when using ‘federated-deployment’ where federations have a configured durability-service that maintains non-volatile data for late-joiners even when no applications are running. Single Process In case you’re using standalone-deployment (aka ‘single-process) you can still use TRANSIENT data but that then relies on applications being active that have configured a […]

DDSI Release Notes

Introduction These notes document the current state of release of the OpenSplice DDSI2 Service. The DDSI2 service is an implementation of the OMG DDSI 2.1 specification for OpenSplice. There is a solid body of evidence that there is real interoperability between OpenSplice and other vendors’ implementations, and in particular with RTI DDS. Nevertheless, there are […]

Known Issues in OpenSplice V6.11.x

New versions of OpenSplice are released on a regular basis.  This page lists all the known issues for OpenSplice V 6.11.x You may also want to read the following: Fixed bugs and changes for OpenSplice v6.11.x New Features in OpenSplice v6 Known Issues in OpenSplice V6.11.x Operating System/Platform Related Issues aarch64 / 64-bit ARM – […]

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 […]

OpenSplice Visual Studio Pre-Processer

OpenSplice for Windows is built with this specific Pre-Processor Definition which must also be used for the application during the OpenSplice build process _WIN32_WINNT=0x0502 OpenSplice may have memory corruption if the application is compiled with a different _WIN32_WINNT value than OpenSplice. If the definition is set after everything from OpenSplice is included then a newer value […]

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 […]

Error “System clock has been set back (-40)” when starting a tool or application

“License checkout failed! Caught com.reprisesoftware.rlm.RlmException: System clock has been set back (-40)” OpenSplice and its toolsuses RLM for its licensing.  RLM detects windback by looking for future-dated files (access and modified times) in system directories. In many cases just running the system for a little while with the correct date will access the future-dated files […]

Network Channel / Transport Priority FAQ’s

DDSI-Extended (DDSI2E) is an extended version of the DDSI2 networking service, giving extra features for: Network partitions: Network partitions provide the ability to use alternative multicast addresses for combinations of DCPS topics and partitions to separate out traffic flows, for example for routing or load reduction. Security: Encryption can be configured per network partition. This […]

Networking and Durability Warnings and what they mean

Lack of privileges The following two types of warnings occur because the user which is running OpenSplice does not have the privileges to set the scheduling priority of the networking process and it’s threads to realtime. Description : sched_setscheduler failed with error 1 (Operation not permitted) for process ‘networking’ Description : pthread_create failed with SCHED_FIFO […]

Release Notes and Known Issues

OpenSplice Release Notes The release notes contain all the information about fixed bugs and changes in the different OpenSplice versions Fixed bugs and changes in OpenSplice 6.11.x Fixed bugs and changes in OpenSplice 6.10.x Fixed bugs and changes in OpenSplice 6.9.x Fixed bugs and changes in OpenSplice 6.8.x Fixed bugs and changes in OpenSplice 6.7.x […]

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 […]