mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-06-02 11:59:17 +08:00
zenoh: Move ROS2 Rmw attachment code to rmw_attachment.h
Allows for re-use for later ROS2 Service / Zenoh queryable
This commit is contained in:
committed by
Beat Küng
parent
c41216376a
commit
747bcc9db5
@@ -41,6 +41,8 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "../rmw_attachment.h"
|
||||||
|
|
||||||
#include <px4_platform_common/px4_config.h>
|
#include <px4_platform_common/px4_config.h>
|
||||||
#include <px4_platform_common/log.h>
|
#include <px4_platform_common/log.h>
|
||||||
|
|
||||||
@@ -48,16 +50,6 @@
|
|||||||
#include <containers/List.hpp>
|
#include <containers/List.hpp>
|
||||||
#include <zenoh-pico.h>
|
#include <zenoh-pico.h>
|
||||||
|
|
||||||
#define RMW_GID_STORAGE_SIZE 16u
|
|
||||||
#define RMW_ATTACHEMENT_SIZE (8u + 8u + 1u + RMW_GID_STORAGE_SIZE)
|
|
||||||
|
|
||||||
typedef struct __attribute__((__packed__)) RmwAttachment {
|
|
||||||
int64_t sequence_number;
|
|
||||||
int64_t time;
|
|
||||||
uint8_t rmw_gid_size;
|
|
||||||
uint8_t rmw_gid[RMW_GID_STORAGE_SIZE];
|
|
||||||
} RmwAttachment;
|
|
||||||
|
|
||||||
class Zenoh_Publisher : public ListNode<Zenoh_Publisher *>
|
class Zenoh_Publisher : public ListNode<Zenoh_Publisher *>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -0,0 +1,54 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
*
|
||||||
|
* Copyright (c) 2025 PX4 Development Team. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
* 3. Neither the name PX4 nor the names of its contributors may be
|
||||||
|
* used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @file rmw_attachment.h
|
||||||
|
*
|
||||||
|
* ROS2 RMW Attachment helper
|
||||||
|
*
|
||||||
|
* @author Peter van der Perk <peter.vanderperk@nxp.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <zenoh-pico.h>
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define RMW_GID_STORAGE_SIZE 16u
|
||||||
|
#define RMW_ATTACHEMENT_SIZE (8u + 8u + 1u + RMW_GID_STORAGE_SIZE)
|
||||||
|
|
||||||
|
typedef struct __attribute__((__packed__)) RmwAttachment {
|
||||||
|
int64_t sequence_number;
|
||||||
|
int64_t time;
|
||||||
|
uint8_t rmw_gid_size;
|
||||||
|
uint8_t rmw_gid[RMW_GID_STORAGE_SIZE];
|
||||||
|
} RmwAttachment;
|
||||||
Reference in New Issue
Block a user