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.
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:
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]