Connext Micro <-> Connext Pro communication

6 posts / 0 new
Last post
Offline
Last seen: 6 months 3 weeks ago
Joined: 10/23/2013
Posts: 43
Connext Micro <-> Connext Pro communication

I have successfully built Connext micro DDS applications that can communicate with eachother on the same computer ( thanks to the hello world examples ).   I also have two applications built with Connext Pro that can send and recieve the same topic.   I am now trying to get an application built with connext Micro to communicate with an application built with Connext Pro.  I am not able to receive samples in either application.  Everything looks good in the RTI Analyzer.  Types look correct and Match Analysis shows a correct match.  The Connext Pro application is using a QoS profile.  Are there an examples and/or QoS with proper settings for Pro/Micro communications?

 

Thanks.

Mark.

Organization:
Keywords:
Offline
Last seen: 6 years 8 months ago
Joined: 01/17/2013
Posts: 22

Hi Mark,

Is your Connext DDS application using the default Liveliness kind of DDS_AUTOMATIC_LIVELINESS_QOS?  If so, that must be changed to DDS_MANUAL_BY_TOPIC_LIVELINESS_QOS, as Micro supports only MANUAL_BY_TOPIC.

Also, is your Connext Micro application using Dynamic-Participant Static-Endpoint (DPSE) discovery?  If so, try instead using Dynamic-Participant Dynamic-Endpoint (DPDE) discovery (see the HelloWorld_dpde example).  Out-of-the-box, Connext DDS will not discover endpoints of applications using DPSE.  Rather, a separate plugin has to be used to enable static-endpoint discovery with Connext DDS; please reply if you wish to continue using DPSE for interoperability, and I can provide further details.

If none of the above apply, please provide your QoS configurations.

Regards,

Edward

 

Offline
Last seen: 6 months 3 weeks ago
Joined: 10/23/2013
Posts: 43

Hello,

Thanks for the quick response.  I tried adjusting the QoS profile as directed, but still am not able to communicate.  I am attaching the QoS library.  The initial profile is used was:  UserQosProfilesLibrary::MonitorDefault.  MathWorksQoSLibrary::MicroDDS is the new profile i created with the recommended liveliness settings.

My Connect Micro application is using DPDE with the same QoS settings as in the HelloWorld_dpde example.

File Attachments: 
Offline
Last seen: 6 years 8 months ago
Joined: 01/17/2013
Posts: 22

Hi Mark,

Apologies for this delayed response.

I verified that your QoS profile works with my own example, between a Connext Micro HelloWorld_dpde application and a Connext DDS HelloWorld application, each being either publisher or subscriber, on a single machine.  I have attached the relevant files.  Of note:

  • The Connext Micro example is unchanged from the shipped HelloWorld_dpde example
  • The Connext DDS example is an rtiddsgen-generated C-language example that uses your QoS Library (file renamed to simply USER_QOS_PROFILES.xml) and its MicroDDS profile when creating DomainParticipant, Topic, DataWriter, and DataReader
  • Note, a difference between running Connext Micro and Connext DDS applications that may have been overlooked, running the Connext Micro application requires the domain ID to be specified with a command line option (e.g., "-domain 123"), while the Connext DDS application simply accepts the first command line argument as the domain ID 

Hopefully this will work for you and help figure out the reason for your non-communicating example.

Regards,

Edward

 

File Attachments: 
Offline
Last seen: 6 months 3 weeks ago
Joined: 10/23/2013
Posts: 43

Hello,

Thanks for your prompt response. Unfortuneately, I am not able to get your example to work properly.  As in my original post, with your example I am able to get DDS publish->DDS subscribe and MicroDDS publish-> MicroDDS subscribe to work.  However, interopability between DDS and MicroDDS with your examples is not working, even though the RTI analyzer data looks correct.

Other info:

- I am running on Windows XP machine.  Examples were built with VS2008.  DDS Version info: Micro DDS 2.2.3 and DDS 5.0.0

- I am running a Evaluation licensed version of DDS.

- I confirmed that your QoS profile is being used by introducing a defect into the XML file, running HelloWorld_publisher and getting a load_profile error.

- I noticed that in the profile you sent, there are no LIVELIVENESS settings that you recommended in an earlier post.  I added to the profile you sent but had no affect on results.

Any suggestions on other things to check?

Thanks for your help.

Mark.

Offline
Last seen: 6 years 8 months ago
Joined: 01/17/2013
Posts: 22

Hi Mark,

I hope you had a great Thanksgiving weekend.

I should have mentioned that the USER_QOS_PROFILES.xml included with my example is identical to your previously provided USER_QOS_PROFILES_6.xml.  I renamed it for convenience.  Also, the QoS library and profile ("MathWorksQoSLibrary" and "MicroDDS", respectively) used by my DDS publisher and subscriber do have DataWriter and DataReader Liveliness kinds set to MANUAL_BY_TOPIC and lease_durations set to infinite.  Because you mentioned you had to set these manually, can you check again that your version of my example is running with these correct QoS settings?

If still not working, I will be providing you directions on enabling detailed logging and trace messages to help debug this further.

Regards,

Edward