RTI Connext DDS Micro  Version 2.4.10
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
RTI Connext DDS Micro and other RTI Products

Developing Applications for RTI Connext DDS Micro and RTI Connext DDS Core

In some cases it may be necessary to write an application that is compiled against both RTI Connext DDS Micro and RTI Connext DDS Core. In general this is not easy to do because RTI Connext DDS Micro supports a very limited set of features compared to RTI Connext DDS Core. However, due to the nature of the DDS API and the philosophy of declaring behavior through Qos profiles instead of using different APIs it may be possible to share common code. In particular RTI Connext DDS Core supports configuration through QoS profile files which eases to job of writing portable code.

Please refer to Standards and Interoperability for an overview of features and what is supported by RTI Connext DDS Micro. Note that RTI Connext DDS Core supports many extended APIs that are not covered by the DDS specification, for example APIs that create DDS entities based on Qos profiles.

Development Environment

There are no conflicts between RTI Connext DDS Micro and RTI Connext DDS Core with respect to library names, header-files etc. It is advised to keep the two installations separate, which is the normal case.

RTI Connext DDS Micro uses the environment variable RTIMEHOME to locate the root of the RTI Connext DDS Micro installation.

RTI Connext DDS Core uses the environment variable NDDSHOME to locate the root of the RTI Connext DDS Core installation.

Non standard APIs

The DDS specification omit many APIs and policies necessary to configure a DDS application, such as transport, discovery, memory, logging etc. In general, RTI Connext DDS Micro and RTI Connext DDS Core does not share APIs for these functions.

It is recommended to configure RTI Connext DDS Core using Qos profiles as much as possible.

Qos Policies

Qos policies defined by the DDS standard behave the same between RTI Connext DDS Micro and RTI Connext DDS Core. However, note that RTI Connext DDS Micro does not always support all the values for a policy and in particular unlimited resources are not supported.

Unsupported Qos policies is the most likley reason for not beeing able to switch between RTI Connext DDS Micro and RTI Connext DDS Core.

Standard APIs

APIs that are defined by the standard behave the same between RTI Connext DDS Micro and RTI Connext DDS Core.

IDL Files

RTI Connext DDS Micro and RTI Connext DDS Core use the same IDL compiler (rtiddsgen) and RTI Connext DDS Micro typically ships with the latest version. However, RTI Connext DDS Micro and RTI Connext DDS Core use different templates to generate code and it is not possible to share the generated code. Thus, while the same IDL can be used the generated output must be saved in different locations.

It it important to note that while RTI Connext DDS Micro supports the same IDL syntax, it does not necessarily generate code for all of it. For example, X-Types is not supported and all directives related to X-Types are ignored.

Interoperability

In general RTI Connext DDS Micro and RTI Connext DDS Core are wire interoperable, except as noted in DDS Wire Compatability.

All RTI products, aside from RTI Connext DDS Micro, are based on RTI Connext DDS Core. Thus, in general RTI Connext DDS Micro is compatible with RTI tools and other products. The following sections provide additional information for each product.

When trying to establish communication between an RTI Connext DDS Micro application that uses the Dynamic Participant / Static Endpoint (DPSE) discovery module and an RTI product based on RTI Connext DDS Core, every participant in the DDS system must be configured with a unique participant name. While the static discovery functionality provided by RTI Connext DDS Core allows participants on different hosts to share the same name, RTI Connext DDS Micro requires every participant to have a different name to help keeping the complexity of its implementation suitable for smaller targets.

Admin Console

Admin Console can discover and display RTI Connext DDS Micro applications which use full dynamic discovery as well as dynamic participant / static endpoint discovery (DPSE). In order to use DPSE a configuration file with the discovery configuration must be provided (just as in the case for products such as Routing Service, Persistence Service, etc.). This is provided through the QoS XML file.

Data can be visualized from RTI Connext DDS Micro data-writers. Keep in mind that RTI Connext DDS Micro does not currently distribute type information and the type information has to be provided through an XML file using the "Create Subscription" dialog. Unlike some other products, this information cannot be provided through the QoS XML file. To provide the data types to Admin Console, first run the code generator with the convertToXml option:

    rtiddsgen -micro -convertToXml <file>

Then click on the “Load Data Types from XML file” hyperlink in the "Create Subscription" dialog and add the generated IDL file.

Other Features Supported:

The following resource-limits in RTI Connext DDS Micro must be incremented as follows when using Admin Console:

RTI Connext DDS Micro does not currently support any administration capabilities nor services, and does not match with the Admin Console datareaders and datawriters. However, if matching datareaders and datawriters are created, e.g by the application, the following resource must be updated:

Distributed Logger

This library has not been ported to RTI Connext DDS Micro.

LabVIEW

The LabVIEW toolkit uses RTI Connext DDS Core, and it must be configured as any other RTI Connext DDS Core application. A possible option is to use the builtin RTI Connext DDS Core profile: BuiltinQosLib::Generic.ConnextMicroCompatibility.

Monitor

This product is not supported by RTI Connext DDS Micro.

Recording Service

RTI Recorder
RTI Recorder is compatible with RTI Connext DDS Micro in the following ways:
  • If static endpoint discovery is used, Recorder is compatible starting with version 5.1.0.3 and onwards.
  • If dynamic endpoint discovery is used, Recorder is compatible with RTI Connext DDS Micro the same way it is with any other DDS application.
  • In both cases, type information has to be provided via XML. Read this KB solution to know how to provide type information via XML.
RTI Replay
RTI Replay is compatible with Micro in the following ways:
  • If static endpoint discovery is used, Replay is compatible starting with version 5.1.0.3 and onwards.
  • If dynamic endpoint discovery is used, Replay is compatible with RTI Connext DDS Micro the same way it is with any other DDS application.
  • In both cases, type information has to be provided via XML. Read this KB solution to know how to provide type information via XML.
RTI Converter
Databases recorded with RTI Connext DDS Micro contains no type information in the DCPSPublication table, but the type information can be provided via XML. Read this KB solution to know how to provide type information via XML.

Spreadsheet Addin

RTI Connext DDS Micro can be used with Spreadsheet Add-in starting with version 5.2.0. The type-information must be loaded from XML files.

Wireshark

Wireshark fully supports RTI Connext DDS Micro.


RTI Connext DDS Micro Version 2.4.10 Copyright © Fri Jun 30 2017 Real-Time Innovations, Inc