8. Release Notes

8.1. Language Support

Connext TSS supports FACE TSS C and C++ APIs.

8.2. Platform Support

8.2.1. Demonstrated Architectures

Note

Connext TSS 4.1.0-EAR is an early access release. It is intended for customer development evaluation. It is not intended for production; a production-ready version of 4.1.0 will be available in the future.

This Connext TSS release supports Connext Micro 2.4.13.1, 2.4.13.4, and 2.4.13.5.

Connext TSS has been demonstrated with Connext Micro on the platforms in Table 8.1.

Table 8.1 Connext DDS Micro - Demonstrated Architectures

OS

Version

CPU

Compiler

RTI Architecture Abbreviation

OSS Profile

LynxOS-178

2022.07.01

X86

gcc 7.1.0

x86Lynx1782022.07.1.APEXgcc7.1.0FACE_SB

SafetyBase

VxWorks 653

VxWorks 653 3.0.1.1 SP5

PPC e6500

gcc 4.3.3

ppce6500Vx653-3.0.1.1gcc4.3.3FACE_SB

SafetyBase

Linux

Red Hat Enterprise Linux 8.0

x64

gcc 8.5.0

x64Linux4gcc8.5.0FACE_GP

GeneralPurpose

Ubuntu 22.04

x64

gcc 11.4.0

x64Linux5gcc12.3.0FACE_GP

GeneralPurpose

Ubuntu 22.04

x64

gcc 11.4.0

x64Linux4gcc12.3.0FACE_SB

SafetyBase

Microsoft Windows

Windows 11

x64

VS2022

x64Win64VS2022FACE_GP

GeneralPurpose

Note

Windows is not a FACE supported operating system. Some changes were required to get Connext TSS to run. Those changes are not guaranteed to be compatible with other UoC’s or UoP’s ported to Windows. Some integration may be required.

8.3. What’s New in 4.1.0-EAR

8.3.1. Added support for FACE TSS C API

This release adds support for the FACE TSS C API.

8.3.2. Added support for Transport Protocol Module

Support for the FACE Transport Protocol Module (TPM) has been added. This feature has been implemented in the TSS/TA and as an adapter that works with Connext Micro. Therefore, it’s an option to use both RTI’s Connext TSS and TPM with Connext Micro. Or, either individually with other versions of TSS or TPM enabled protocols. In addition, RTI’s TSS supports multiple TPMs simultaneously.

Implementing this feature required a re-architecture of the Connext TSS. It now implements a FACE Type Abstraction (TA) layer. In addition, this release now supports serialize and deserialize injectables.

Note

The re-architecture required to implement TPM and other features in the 4.1.0-EAR changed the way Connext TSS sets up and sends data with DDS. At the time of this release, 4.1.0-EAR interoperability with FACE applications using Connext TSS 3.1.2 and 3.1.1 is not tested.

8.3.3. Implemented certifiable FACE String and Sequence classes

This release implements the FACE string and sequence classes in C and wraps them with an optional C++ API. This new implementation is easier to certify and addresses the following issues reported in previous versions:

  • Freeing and reallocating string and sequence classes did not work in Safety Base.

  • Destructor of sequences of sequences created a memory leak.

  • The C++ sequence class required casting.

  • Bound, Capacity, and Length of sequences of structures became corrupted.

  • Having two sequence types in the same structure could crash the application.

8.3.4. RTI logging replaced by FACE logging

RTI’s proprietary logging has been replaced with the FACE logging injectable. For more information, see the Logging section of the API reference.

8.3.5. Added support for LynxOS-178

Support for the LynxOS-178 ARINC operating system has been added.

8.3.6. Added support for FACE GUIDs

To increase FACE conformance, Connext TSS now supports FACE GUIDs.

8.3.7. Added injectable interface for callbacks

Added an injectable interface for callbacks.

8.3.8. Third-party software changes

The following third-party software is now used by Connext TSS:

Table 8.2 New Third-Party Software

Third-Party Software

Version

XML Parser for C

0.1.0

For information on all third-party software used by Connext TSS, see the Third-Party Software document in this manual.

8.4. What’s Fixed in 4.1.0-EAR

8.4.1. Sequences of arrays caused compile errors

The managed copy constructor of a sequence of arrays attempted to copy the contained arrays incorrectly.

[RTI Issue ID FACETSS-1296]

8.4.2. Possible memory leak when RTI_TSS_Impl_new() did not check for NULL after allocation

If memory was unavailable, a null pointer could have been passed to an underlying DDS call when creating a new TSS instance.

[RTI Issue ID FACETSS-1279]

8.4.3. No longer necessary to use #ifdef FACE_SEQUENCE_AND_STRING_IMPLEMENTED flag

The FACE_SEQUENCE_AND_STRING_IMPLEMENTED flag has been removed. Therefore, it’s not necessary to use this flag to enable strings and sequences.

[RTI Issue ID FACETSS-1370]

8.5. Known Issues in 4.1.0-EAR

8.5.1. Problems with the C and C++ API html documentation

There are problems with the Doxygen-generated C and C++ API documentation. Some content is missing, and other content is not in the correct location.

As a workaround, refer to the API Reference section in this manual. This section describes the C++ API; the C API is identical, except that the function names replace all instances of :: with _.

[RTI Issue ID FACETSS-1490]

8.5.2. Static tables that allocate memory for hash tables is determined at compile time

The size of the internal hash tables is defined at compile time and cannot be changed at runtime.

[RTI Issue ID FACETSS-1749]

8.5.3. Windows Emitter Warnings

When building examples on Windows, VS compiler warns that some files were not generated by the output and could cause incremental build issues.

[RTI Issue ID FACETSS-1862]

8.6. Previous Releases

8.6.1. What’s New in 3.1.2

8.6.1.1. Added support for Deos 653

This release adds support for building the TSS libraries on the DDC-I DESK Console, as well as an example to be built and run on a Deos 653 CPU via OpenArbor.

8.6.1.2. Changed Logging verbosity to be set by command line switches

In this release, logging verbosity is changed by command line switches passed to Cmake while building the TSS Libraries. See the Building the Libraries section of the Build Connext TSS Libraries chapter for more information.

Note

Logging verbosity can only be set at compile time, not at run time.

8.6.1.3. Renamed Cmake architecture files for VxWorks7 to include FACE_GP

The cmake architecture files armv8Vx7SR0660llvm10.0.1.cortex-a53.cmake and armv8Vx7SR0660llvm10.0.1.cortex-a53_rtp.cmake have been renamed to armv8Vx7SR0660llvm10.0.1.cortex-a53FACE_GP.cmake and armv8Vx7SR0660llvm10.0.1.cortex-a53_rtpFACE_GP.cmake, respectively.

8.6.2. What’s Fixed in 3.1.2

8.6.2.1. Build time FACE conformance warning message

In previous releases, when building Connext TSS with Connext Professional for the FACE GeneralPurpose profile, the build system generated the following message:

-- Connext TSS with Connext DDS Pro does not conform with FACE GeneralPurpose Profile in this version.

This message was not accurate and is no longer generated.

[RTI Issue ID FACETSS-1086]

8.6.2.2. Double quotation marks in command line contexts

In the Porting documentation for this release, instances of double quotation marks (“) in command line contexts have been changed to double quotes (”) to avoid corrupting OpenArbor projects with copied and pasted commands.

[RTI Issue ID FACETSS-729]

8.6.2.3. Source file types.c was compiled when flag was set to true

In previous releases, the file src/micro/types.c was still compiled and linked with the Connext TSS library when FACE_SEQUENCE_AND_STRING_IMPLEMENTED was set to false. This issue has been resolved.

[RTI Issue ID FACETSS-905]

8.6.2.4. Receive_Message() unable to retrieve multiple messages in the reader queue

When a TSS application called Receive_Message() while multiple messages were present in the reader queue, the next Receive_Message() call would block on the waitset until a new sample arrived or the timeout expired. This issue has been resolved.

[RTI Issue ID FACETSS-679]

8.6.3. What’s New in 3.1.1

8.6.3.1. Removed the Static Configuration API

Static configuration has been removed from the TSS code and generated files. Some header files have been removed, hence, this release is incompatible with previous engineering releases. There are changes to the generated files as well; code regeneration is required for this release.

Previous engineering releases included a note that this was being deprecated. Now it is removed.

8.6.3.2. Updated source files to meet RTI and FACE coding standards

The source files have been reformatted to meet the RTI and FACE coding standards.

8.6.3.3. Updated parameter checking and return codes

This release includes updated parameter checking and the associated return codes for the SafetyBase profile.

8.6.4. What’s Fixed in 3.1.1

8.6.4.1. Updated rtiddsgen to meet FACE 3.1 Conformance

A bug in rtiddsgen caused the TypedTS and TypedTS Injectable files to not be generated in the folder structure defined in the spec.

This issue has been resolved. The TypedTS and TypedTS Injectable files will now be created in the correct folder structure.

[RTI Issue ID FACETSS-641]

8.6.5. Known Issues in 3.1.1

8.6.5.1. Compiler warnings

When building for VxWorks 7 systems with the llvm 10.0.1 compiler (armv8Vx7SR0660llvm10.0.1.cortex-a53_rtp_pro_Release), you may get a ‘CPU macro redefined’ compile warning if -Wmacro-redefined is enabled on the compiler command line. You may also see a -Wreturn-type-c-linkage warning.

These warnings do not affect Connext TSS during runtime.

[RTI Issue ID FACETSS-955]

8.6.5.2. Warning when loading hello_goodbye_dkm_static example

The following warning occurs when loading the hello_goodbye_dkm_static example into a physical board:

ld 1< hello_goodbye_app.so
Warning: module 0xffff800000aaab60 holds reference to undefined symbol __dso_handle.
ld(): module contains undefined symbol(s) and may be unusable.
value = 0 = 0x0

This issue does not affect Connext TSS during runtime.

[RTI Issue ID FACETSS-1048]