forked from Archive/PX4-Autopilot
msg: urtps: change the topic Data Type name to match expected on ROS2
This commit is contained in:
parent
23e17aec42
commit
722f287281
|
@ -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");
|
||||
|
|
|
@ -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]@
|
||||
};
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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]@
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue