一、安装
参考:
(14条消息) Ubuntu 18.04安装fast-dds_纵一苇就是我的博客-CSDN博客[FASTDDS]02-安装fast-gen_Annnnnnnnd的技术博客_51CTO博客z
这里注意几个问题,一个是gradle的安装用fast-gen自带的脚本就好。
二、HellowWorld
1)编写idl文件。
2)使用fast-gen生成接口h与cpp文件。
3)编写消息发布者和消息订阅者类。
4)编译。
这里着重说一下3和4:
如何编写消息发布者和消息订阅者类:
根据DDS官方提供的example,无论是消息发布者还是消息订阅者,都会被抽象成一个参与者(participanter),也就是说,参与者是整个框架的核心角色。这个参与者,可以是消息发布者也可以是消息订阅者。
如果是消息发布者(publisher),那需要实例化或者关注几个重要的成员:
1、publisher
2、topic
3、datawrite
4、datawriteListener
则participanter的成员方法可以创建创建一个publisher,并且创建一个topic(注意这个topicname可以自己取名字,typename根据idl的struct名填写),随后创建一个datawrite的实例,这个实例就是我们发布消息的的入口,可以理解为fd,datawrite有write成员接口来进行写操作。注意一点是,我们创建datawrite的实例时,需要一个datawriteListener,这个监听者的作用为当 有订阅者mach上时,on_publication_mached函数指针会被调起。
如果是消息订阅者(subscriber),那需要实例化或者关注几个重要的成员:
1、subscriber
2、topic
3、datareader
4、datareaderListener
则participanter的成员方法可以创建创建一个subscriber,并且创建一个topic(注意这个topicname为根据自己想接受的消息的名字,typename根据idl的struct名填写),随后创建一个datareader的实例,我们创建datareader的实例时,需要一个datareaderListener,这个监听者的作用为
1)当订阅者mach上发布者时候,on_subscription_mached函数指针会被调起。
2)当订阅的消息到来时候,on_data_avaiable函数指针会被调起,可接受数据。
接下来说一下cmake,个人做了一些简化,比较通俗易懂一些。
今天就介绍到这里,下一章我看一下dds 中可以设置ip的用法,谢谢