Skip to content

Commit

Permalink
msg: urtps: change the topic Data Type name to match expected on ROS2
Browse files Browse the repository at this point in the history
  • Loading branch information
TSC21 authored and jkflying committed Jan 10, 2020
1 parent 23e17ae commit 722f287
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 12 deletions.
11 changes: 9 additions & 2 deletions msg/templates/urtps/Publisher.cpp.em
Original file line number Diff line number Diff line change
Expand Up @@ -95,13 +95,20 @@ bool @(topic)_Publisher::init()
if(mp_participant == nullptr)
return false;

@[if ros2_distro and (ros2_distro == "dashing" or ros2_distro == "eloquent")]@
// Type name should match the expected type name on ROS2
// Note: the change is being done here since the 'fastrtpsgen' example
// generator does not allow to change the type naming on the template
@(topic)DataType.setName("@(package)::msg::dds_::@(topic)_");
@[end if]@

// Register the type
Domain::registerType(mp_participant, static_cast<TopicDataType*>(&myType));
Domain::registerType(mp_participant, static_cast<TopicDataType*>(&@(topic)DataType));

// Create Publisher
PublisherAttributes Wparam;
Wparam.topic.topicKind = NO_KEY;
Wparam.topic.topicDataType = myType.getName(); //This type MUST be registered
Wparam.topic.topicDataType = @(topic)DataType.getName();
@[if ros2_distro]@
@[ if ros2_distro == "ardent"]@
Wparam.qos.m_partition.push_back("rt");
Expand Down
8 changes: 4 additions & 4 deletions msg/templates/urtps/Publisher.h.em
Original file line number Diff line number Diff line change
Expand Up @@ -111,15 +111,15 @@ private:
} m_listener;
@[if 1.5 <= fastrtpsgen_version <= 1.7]@
@[ if ros2_distro]@
@(package)::msg::dds_::@(topic)_PubSubType myType;
@(package)::msg::dds_::@(topic)_PubSubType @(topic)DataType;
@[ else]@
@(topic)_PubSubType myType;
@(topic)_PubSubType @(topic)DataType;
@[ end if]@
@[else]@
@[ if ros2_distro]@
@(package)::msg::@(topic)PubSubType myType;
@(package)::msg::@(topic)PubSubType @(topic)DataType;
@[ else]@
@(topic)PubSubType myType;
@(topic)PubSubType @(topic)DataType;
@[ end if]@
@[end if]@
};
Expand Down
12 changes: 10 additions & 2 deletions msg/templates/urtps/Subscriber.cpp.em
Original file line number Diff line number Diff line change
Expand Up @@ -94,13 +94,21 @@ bool @(topic)_Subscriber::init(uint8_t topic_ID, std::condition_variable* t_send
if(mp_participant == nullptr)
return false;

@[if ros2_distro and (ros2_distro == "dashing" or ros2_distro == "eloquent")]@
// Type name should match the expected type name on ROS2
// Note: the change is being done here since the 'fastrtpsgen' example
// generator does not allow to change the type naming on the template of
// "*PubSubTypes.cpp" file
@(topic)DataType.setName("@(package)::msg::dds_::@(topic)_");
@[end if]@

//Register the type
Domain::registerType(mp_participant, static_cast<TopicDataType*>(&myType));
Domain::registerType(mp_participant, static_cast<TopicDataType*>(&@(topic)DataType));

// Create Subscriber
SubscriberAttributes Rparam;
Rparam.topic.topicKind = NO_KEY;
Rparam.topic.topicDataType = myType.getName(); //Must be registered before the creation of the subscriber
Rparam.topic.topicDataType = @(topic)DataType.getName();
@[if ros2_distro]@
@[ if ros2_distro == "ardent"]@
Rparam.qos.m_partition.push_back("rt");
Expand Down
8 changes: 4 additions & 4 deletions msg/templates/urtps/Subscriber.h.em
Original file line number Diff line number Diff line change
Expand Up @@ -142,15 +142,15 @@ private:
} m_listener;
@[if 1.5 <= fastrtpsgen_version <= 1.7]@
@[ if ros2_distro]@
@(package)::msg::dds_::@(topic)_PubSubType myType;
@(package)::msg::dds_::@(topic)_PubSubType @(topic)DataType;
@[ else]@
@(topic)_PubSubType myType;
@(topic)_PubSubType @(topic)DataType;
@[ end if]@
@[else]@
@[ if ros2_distro]@
@(package)::msg::@(topic)PubSubType myType;
@(package)::msg::@(topic)PubSubType @(topic)DataType;
@[ else]@
@(topic)PubSubType myType;
@(topic)PubSubType @(topic)DataType;
@[ end if]@
@[end if]@
};
Expand Down

0 comments on commit 722f287

Please sign in to comment.