有时在运行订阅者节点时希望该节点在接收到话题消息之后,能够将经过相应处理的消息发布给其他节点,这样就要求订阅者节点具备同时发送和接收消息的能力.
下面将编写一个用于解析CAN报文的功能包,其中的一个订阅者节点在解析完订阅到的CAN报文之后会将解析的内容发布出去.
功能包(can_analysis_topic)的package.xml文件:
功能包(can_analysis_topic)的CMakeLists.txt文件:
功能包(can_analysis_topic)的msg文件:
Control.msg文件
Frame.msg文件
扫描二维码关注公众号,回复:
1649973 查看本文章
功能包(can_analysis_topic)的发布者节点can_topic_publisher代码:
它负责将报文的ID和数据发布出去
功能包(can_analysis_topic)的订阅者节点can_topic_subscriber代码:
它负责将订阅到的CAN报文进行解析并将解析内容发布出去
功能包(can_analysis_topic)的测试节点can_topic_test代码:
这个节点主要用来测试can_topic_subscriber节点能否将报文解析内容成功发布出来
实验结果如下:
运行can_topic_publisher
运行can_topic_subscriber
运行can_topic_test