XCDR DataRespresentation XML syntax

8 posts / 0 new
Last post
Offline
Last seen: 4 years 10 months ago
Joined: 04/13/2019
Posts: 9
XCDR DataRespresentation XML syntax

I'm using the RTI Python Connector for v6.0 and want to write to an old system running v5.3. In the datawriter_qos I believe I have to specify the DataRepresentation for xcdr version 1. But I'm having trouble finding the exact syntax / keywords to use.

<qos_library name= .....
  <qos_profile name= ....
    <datawriter_qos>
      <data_representation?>
        <version?> "xcdr?" </version?>
      </data_representation>
       .....

Offline
Last seen: 1 month 5 days ago
Joined: 04/02/2013
Posts: 196

The default data representation in 6.0 is still XCDR1. XCDR2 is available, but it's not used by default.

 

Offline
Last seen: 3 weeks 4 days ago
Joined: 10/22/2018
Posts: 91

Are you having trouble communicating between the two applications or were you just expecting that you might have to change the data representation?
As mentioned above it isn't necessary to change the data representation version (since they both use XCDR1 by default).

If you are struggling to get communication between these 2 versions, one reason could be related to your type. If it contains unbounded sequences or strings, the way we represent these is different between these two versions. You can read more here but you might need to add stringMaxLen to unbounded strings in your XML type.

Offline
Last seen: 4 years 10 months ago
Joined: 04/13/2019
Posts: 9

I was using stringMaxLength="256" with v6.0 and should have used "255" to have it compatible with existing devices using DDS v5.3. Also, now the same v6.0 QoS files work with v5.3. I just change the reader base index.
 
I thought I saw something on the forum about RTI working on 'professionalizing' the RTI Connector but can't relocate it. Any comment? Python binding?

Thanks for clarifying the XCDR.

Offline
Last seen: 3 weeks 4 days ago
Joined: 10/22/2018
Posts: 91

RTI Connector for Python and for Javascript will be productised in Q4 of 2019. The other bindings (Go, C# among others) will not be modified.

Sam


Offline
Last seen: 4 years 10 months ago
Joined: 04/13/2019
Posts: 9

@samr Would it be possible to install just the RTI Connext DDS Connector Python binding without its associated ARM Linux librtiddsconnector.so, and have it use the existing RTI DDS runtime library on a RPi3B based product developed with RTI Connext DDS Pro?


Offline
Last seen: 3 weeks 4 days ago
Joined: 10/22/2018
Posts: 91

Hi webhopper,

Sorry I don't quite understand your question.

If you're asking whether you can use a dynamic library instead of the static one which is released alongside Connector, the answer is no, you need to use the supplied librtiddsconnector.so (or equivalent for your architecture).

If I've misunderstood your question let me know.

Sam

Offline
Last seen: 4 years 10 months ago
Joined: 04/13/2019
Posts: 9

Hi Sam,

Thanks - you answered my question - must use the static lib with Connector.

But would there be any issue running my Python Connector program, using the static lib, on the same RPi3B that is already running a RTI DDS Pro developed C++ app? I would be subscribing to the Pro App topics.

I would like to be able to extend the existing underwater ROV's embedded app's functionality without being able to modify the existing code.

Bill