Software Exploration - DDS and the Trident #2


#1

Greetings enthusiasts!

I hope you are all well. I’d like to follow up on the previous post, highlighting RTI’s Admin Console. The console is great. You can view the entire DDS architecture, mesages types, topics, and data. However, sometimes you just need to see data scrolling on a terminal screen for good measure. This can be done with DDS Spy. Assuming you’ve found the RTI Connext Launcher, which you should have explored the Admin console from, you’ll want to select the Utilities tab near the top of the launcher.

Select DDS Spy.

ddsspy1

Here, you can pick a domain, here the Trident works in 0, print samples, display id’s, show handles, truncate names, subscribe to topics and filter via type or topic name. You can open as many of these as you like.

Ok. So there’s an issue here. OpenROV has data partitions set up to match the reader/writers to individual ROVs. A partition allows readers and writers on the same domain to separate data streams. This is a good thing, however, DDS Spy, when using the GUI, does not have a clear partition selection process. I haven’t figured it out yet. However, the command line works just fine.

Navigate to your rti_connext directory. In the bin folder, you will find all the executable scripts (remember I am in Linux, so your windows applications may differ). Also, take a look at, http://community.rti.com/rti-doc/510/ndds/doc/html/api_cpp/group__DDSNddsspyModule.html, the RTI Connext C++ API. This gives you all the commandline parameter for DDS Spy. You can also type ./rtidsspy -help.

Ok, you need to match the partition, domainId, and select the topic or data type you would like to display.

Try ./rtiddsspy -partition (enter you rov host name. this is found on the physical view in the admin console. it will look something like 4ecb6b… They are individual system names. You should see your host PC IP as well)

Moving on:

./rtiddsspy -partition 4ecb6b -topicRegex “depth” -printSample

You should see something like:

There’s good info here. We see the message sequence number, the topic name, rov_depth, the topic type, orov::Depth and pressure data, objectId and depth data.

Good stuff. Play around with it, try different parameters and look at the topics. Once I figure out the trick to get the DDS Spy UI to match partitions, I’ll post the solution.

Enjoy.

In the next post, we’ll take a look at, drum roll…, how to read this data from a template c++ application, which I will post on github, soon. After which, we will discuss publishing data to the ROV.

Jim


#2

Greetings enthusiasts!

I figured out how to get the DDS Spy UI to monitor partitions. It was silly easy.

Click the Advanced Settings tab in the UI and you will see a section labeled Partitions, comma separated.

Merely enter the partition label in that text box and hit the run button on the UI…yes, that easy…I feel stupid.

ddsspy_advanced

Moving on!
Enjoy,

Jim