server.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:canros 作者: MonashUAS 项目源码 文件源码
def ROS_Subscribe(self):
        def handler(event):
            uavcan_req = canros.copy_ros_uavcan(self.UAVCAN_Type.Request(), event, request=True)

            q = Queue(maxsize=1)
            def callback(event):
                q.put(event.response if event else None)

            uavcan_id = getattr(event, canros.uavcan_id_field_name)
            if uavcan_id == 0:
                return
            uavcan_node.request(uavcan_req, uavcan_id, callback, timeout=1)   # Default UAVCAN service timeout is 1 second

            uavcan_resp = q.get()
            if uavcan_resp is None:
                return
            return canros.copy_uavcan_ros(self.Response_Type(), uavcan_resp, request=False)
        self.Service(handler)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号