RTI Connext DDS Micro
Version 2.4.7
|
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.
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.
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 recommneded to configure RTI Connext DDS Core using Qos profiles as much as possible.
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.
APIs that are defined by the standard behave the same between RTI Connext DDS Micro and RTI Connext DDS Core.
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.
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, is based on RTI Connext DDS Core. Thus, in general RTI Connext DDS Micro is compatible with tools and other products. The following sections provide additional information for each product.
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:
This library has not been ported to RTI Connext DDS Micro.
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.
This product is not supported by RTI Connext DDS Micro.
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 fully supports RTI Connext DDS Micro.