Skip to content

File syn_xrce_dds.h

FileList > proto > syn_xrce_dds.h

Go to the source code of this file

Micro-ROS & eProsima Micro XRCE-DDS v1.2 Protocol Client Engine. More...

  • #include "../common/syn_defs.h"
  • #include "../net/syn_transport.h"
  • #include "../pt/syn_pt.h"
  • #include "../sched/syn_sched.h"
  • #include <stdbool.h>
  • #include <stddef.h>
  • #include <stdint.h>

Classes

Type Name
struct SYN_CDR_Reader
CDR deserialization input buffer context.
struct SYN_CDR_Writer
CDR serialization output buffer context.
struct SYN_XRCE_Client
Micro XRCE-DDS Client instance context.
struct SYN_XRCE_Config
Micro XRCE-DDS Client configuration.
struct SYN_XRCE_Object
Registered XRCE entity tracking record.

Public Types

Type Name
enum SYN_XRCE_ClientState
XRCE client connection state.
typedef void(* SYN_XRCE_DataCb
Callback for incoming topic data from an agent DataReader.
typedef void(* SYN_XRCE_StatusCb
Callback for status notifications (entity creation, ack, etc).

Public Functions

Type Name
bool syn_cdr_read_bool (SYN_CDR_Reader * r, bool * out)
Read boolean.
bool syn_cdr_read_bytes (SYN_CDR_Reader * r, uint8_t * out_buf, size_t len)
Read raw byte buffer without alignment padding.
bool syn_cdr_read_double (SYN_CDR_Reader * r, double * out)
Read 64-bit double (8-byte aligned).
bool syn_cdr_read_float (SYN_CDR_Reader * r, float * out)
Read 32-bit float (4-byte aligned).
bool syn_cdr_read_i16 (SYN_CDR_Reader * r, int16_t * out)
Read signed 16-bit integer (2-byte aligned).
bool syn_cdr_read_i32 (SYN_CDR_Reader * r, int32_t * out)
Read signed 32-bit integer (4-byte aligned).
bool syn_cdr_read_i64 (SYN_CDR_Reader * r, int64_t * out)
Read signed 64-bit integer (8-byte aligned).
bool syn_cdr_read_i8 (SYN_CDR_Reader * r, int8_t * out)
Read signed 8-bit integer.
bool syn_cdr_read_string (SYN_CDR_Reader * r, char * out_buf, size_t max_len)
Read null-terminated string with length prefix.
bool syn_cdr_read_u16 (SYN_CDR_Reader * r, uint16_t * out)
Read unsigned 16-bit integer (2-byte aligned).
bool syn_cdr_read_u32 (SYN_CDR_Reader * r, uint32_t * out)
Read unsigned 32-bit integer (4-byte aligned).
bool syn_cdr_read_u64 (SYN_CDR_Reader * r, uint64_t * out)
Read unsigned 64-bit integer (8-byte aligned).
bool syn_cdr_read_u8 (SYN_CDR_Reader * r, uint8_t * out)
Read unsigned 8-bit integer.
void syn_cdr_reader_init (SYN_CDR_Reader * r, const uint8_t * buf, size_t size)
Initialize CDR reader.
bool syn_cdr_write_bool (SYN_CDR_Writer * w, bool v)
Write boolean.
bool syn_cdr_write_bytes (SYN_CDR_Writer * w, const uint8_t * bytes, size_t len)
Write raw byte buffer without alignment padding.
bool syn_cdr_write_double (SYN_CDR_Writer * w, double v)
Write 64-bit double (8-byte aligned).
bool syn_cdr_write_float (SYN_CDR_Writer * w, float v)
Write 32-bit float (4-byte aligned).
bool syn_cdr_write_i16 (SYN_CDR_Writer * w, int16_t v)
Write signed 16-bit integer (2-byte aligned).
bool syn_cdr_write_i32 (SYN_CDR_Writer * w, int32_t v)
Write signed 32-bit integer (4-byte aligned).
bool syn_cdr_write_i64 (SYN_CDR_Writer * w, int64_t v)
Write signed 64-bit integer (8-byte aligned).
bool syn_cdr_write_i8 (SYN_CDR_Writer * w, int8_t v)
Write signed 8-bit integer.
bool syn_cdr_write_string (SYN_CDR_Writer * w, const char * str)
Write null-terminated string with 32-bit length prefix and null terminator.
bool syn_cdr_write_u16 (SYN_CDR_Writer * w, uint16_t v)
Write unsigned 16-bit integer (2-byte aligned).
bool syn_cdr_write_u32 (SYN_CDR_Writer * w, uint32_t v)
Write unsigned 32-bit integer (4-byte aligned).
bool syn_cdr_write_u64 (SYN_CDR_Writer * w, uint64_t v)
Write unsigned 64-bit integer (8-byte aligned).
bool syn_cdr_write_u8 (SYN_CDR_Writer * w, uint8_t v)
Write unsigned 8-bit integer.
void syn_cdr_writer_init (SYN_CDR_Writer * w, uint8_t * buf, size_t size)
Initialize CDR writer.
SYN_Status syn_xrce_client_create_datareader (SYN_XRCE_Client * client, uint16_t reader_id, uint16_t subscriber_id, uint16_t topic_id)
Create a DDS DataReader entity.
SYN_Status syn_xrce_client_create_datawriter (SYN_XRCE_Client * client, uint16_t writer_id, uint16_t publisher_id, uint16_t topic_id)
Create a DDS DataWriter entity.
SYN_Status syn_xrce_client_create_participant (SYN_XRCE_Client * client, uint16_t participant_id)
Create a DDS DomainParticipant entity.
SYN_Status syn_xrce_client_create_publisher (SYN_XRCE_Client * client, uint16_t publisher_id, uint16_t participant_id)
Create a DDS Publisher entity.
SYN_Status syn_xrce_client_create_session (SYN_XRCE_Client * client)
Connect and establish session with Micro-ROS Agent.
SYN_Status syn_xrce_client_create_subscriber (SYN_XRCE_Client * client, uint16_t subscriber_id, uint16_t participant_id)
Create a DDS Subscriber entity.
SYN_Status syn_xrce_client_create_topic (SYN_XRCE_Client * client, uint16_t topic_id, uint16_t participant_id, const char * topic_name, const char * type_name)
Create a DDS Topic entity.
SYN_Status syn_xrce_client_init (SYN_XRCE_Client * client, const SYN_XRCE_Config * cfg)
Initialize Micro XRCE-DDS Client.
SYN_PT_Status syn_xrce_client_pt (SYN_PT * pt, SYN_Task * task)
Protothread continuation function for syn_sched .
SYN_Status syn_xrce_client_read_data (SYN_XRCE_Client * client, uint16_t reader_id)
Request incoming topic samples from an active DataReader.
SYN_Status syn_xrce_client_step (SYN_XRCE_Client * client, uint32_t now_ms)
Advance the XRCE-DDS client state machine by one step / tick.
SYN_Status syn_xrce_client_write_data (SYN_XRCE_Client * client, uint16_t writer_id, const uint8_t * data, size_t len)
Publish CDR serialized data payload to a DataWriter.

Macros

Type Name
define SYN_XRCE_CLIENT_KEY_DEFAULT 0xCAFEBABEU
define SYN_XRCE_COOKIE 0x0100U
define SYN_XRCE_MAX_OBJECTS 16U
define SYN_XRCE_MAX_TOPIC_NAME 64U
define SYN_XRCE_MAX_TYPE_NAME 64U
define SYN_XRCE_OBJKIND_DATAREADER 0x06U
define SYN_XRCE_OBJKIND_DATAWRITER 0x05U
define SYN_XRCE_OBJKIND_PARTICIPANT 0x01U
define SYN_XRCE_OBJKIND_PUBLISHER 0x03U
define SYN_XRCE_OBJKIND_SUBSCRIBER 0x04U
define SYN_XRCE_OBJKIND_TOPIC 0x02U
define SYN_XRCE_SESSION_ID_DEFAULT 0x81U
define SYN_XRCE_STATUS_ERR_ALREADY_EXISTS 0x11U
define SYN_XRCE_STATUS_ERR_INCOMPATIBLE 0x14U
define SYN_XRCE_STATUS_ERR_INVALID_DATA 0x13U
define SYN_XRCE_STATUS_ERR_RESOURCES 0x15U
define SYN_XRCE_STATUS_ERR_UNKNOWN_REF 0x12U
define SYN_XRCE_STATUS_OK 0x00U
define SYN_XRCE_STATUS_OK_MATCHED 0x01U
define SYN_XRCE_STREAM_BEST_EFFORT 0x01U
define SYN_XRCE_STREAM_RELIABLE 0x80U
define SYN_XRCE_SUBMSG_ACKNACK 0x08U
define SYN_XRCE_SUBMSG_CREATE 0x01U
define SYN_XRCE_SUBMSG_CREATE_CLIENT 0x00U
define SYN_XRCE_SUBMSG_DATA 0x05U
define SYN_XRCE_SUBMSG_DELETE 0x02U
define SYN_XRCE_SUBMSG_HEARTBEAT 0x07U
define SYN_XRCE_SUBMSG_READ_DATA 0x04U
define SYN_XRCE_SUBMSG_STATUS 0x06U
define SYN_XRCE_SUBMSG_WRITE_DATA 0x03U

Detailed Description

Implements a zero-heap, deterministic Micro XRCE-DDS client for ROS 2: * Common Data Representation (CDR) serializer and deserializer with strict alignment. * XRCE-DDS submessage framing (CREATE_CLIENT, CREATE, WRITE_DATA, READ_DATA, DATA, STATUS). * Full ROS 2 entity tree management (Participant, Topic, Publisher, Subscriber, DataWriter, DataReader). * Non-blocking poll ticks and cooperative protothread continuation for syn_sched.

Public Types Documentation

enum SYN_XRCE_ClientState

XRCE client connection state.

enum SYN_XRCE_ClientState {
    SYN_XRCE_STATE_DISCONNECTED = 0,
    SYN_XRCE_STATE_CONNECTING,
    SYN_XRCE_STATE_CONNECTED,
    SYN_XRCE_STATE_ERROR
};


typedef SYN_XRCE_DataCb

Callback for incoming topic data from an agent DataReader.

typedef void(* SYN_XRCE_DataCb) (uint16_t reader_id, const uint8_t *payload, size_t len, void *user_data);

Parameters:

  • reader_id DataReader object ID.
  • payload CDR serialized topic payload.
  • len Payload length in bytes.
  • user_data User context pointer.

typedef SYN_XRCE_StatusCb

Callback for status notifications (entity creation, ack, etc).

typedef void(* SYN_XRCE_StatusCb) (uint16_t req_id, uint8_t status, void *user_data);

Parameters:

  • req_id Request ID matching the command.
  • status XRCE status code (SYN_XRCE_STATUS_OK, etc).
  • user_data User context pointer.

Public Functions Documentation

function syn_cdr_read_bool

Read boolean.

bool syn_cdr_read_bool (
    SYN_CDR_Reader * r,
    bool * out
) 

Parameters:

  • r Reader context.
  • out Output pointer.

Returns:

true on success, false on underflow.


function syn_cdr_read_bytes

Read raw byte buffer without alignment padding.

bool syn_cdr_read_bytes (
    SYN_CDR_Reader * r,
    uint8_t * out_buf,
    size_t len
) 

Parameters:

  • r Reader context.
  • out_buf Output buffer.
  • len Number of bytes to read.

Returns:

true on success, false on underflow.


function syn_cdr_read_double

Read 64-bit double (8-byte aligned).

bool syn_cdr_read_double (
    SYN_CDR_Reader * r,
    double * out
) 

Parameters:

  • r Reader context.
  • out Output pointer.

Returns:

true on success, false on underflow.


function syn_cdr_read_float

Read 32-bit float (4-byte aligned).

bool syn_cdr_read_float (
    SYN_CDR_Reader * r,
    float * out
) 

Parameters:

  • r Reader context.
  • out Output pointer.

Returns:

true on success, false on underflow.


function syn_cdr_read_i16

Read signed 16-bit integer (2-byte aligned).

bool syn_cdr_read_i16 (
    SYN_CDR_Reader * r,
    int16_t * out
) 

Parameters:

  • r Reader context.
  • out Output pointer.

Returns:

true on success, false on underflow.


function syn_cdr_read_i32

Read signed 32-bit integer (4-byte aligned).

bool syn_cdr_read_i32 (
    SYN_CDR_Reader * r,
    int32_t * out
) 

Parameters:

  • r Reader context.
  • out Output pointer.

Returns:

true on success, false on underflow.


function syn_cdr_read_i64

Read signed 64-bit integer (8-byte aligned).

bool syn_cdr_read_i64 (
    SYN_CDR_Reader * r,
    int64_t * out
) 

Parameters:

  • r Reader context.
  • out Output pointer.

Returns:

true on success, false on underflow.


function syn_cdr_read_i8

Read signed 8-bit integer.

bool syn_cdr_read_i8 (
    SYN_CDR_Reader * r,
    int8_t * out
) 

Parameters:

  • r Reader context.
  • out Output pointer.

Returns:

true on success, false on underflow.


function syn_cdr_read_string

Read null-terminated string with length prefix.

bool syn_cdr_read_string (
    SYN_CDR_Reader * r,
    char * out_buf,
    size_t max_len
) 

Parameters:

  • r Reader context.
  • out_buf Output string buffer.
  • max_len Capacity of output string buffer.

Returns:

true on success, false on underflow/truncation.


function syn_cdr_read_u16

Read unsigned 16-bit integer (2-byte aligned).

bool syn_cdr_read_u16 (
    SYN_CDR_Reader * r,
    uint16_t * out
) 

Parameters:

  • r Reader context.
  • out Output pointer.

Returns:

true on success, false on underflow.


function syn_cdr_read_u32

Read unsigned 32-bit integer (4-byte aligned).

bool syn_cdr_read_u32 (
    SYN_CDR_Reader * r,
    uint32_t * out
) 

Parameters:

  • r Reader context.
  • out Output pointer.

Returns:

true on success, false on underflow.


function syn_cdr_read_u64

Read unsigned 64-bit integer (8-byte aligned).

bool syn_cdr_read_u64 (
    SYN_CDR_Reader * r,
    uint64_t * out
) 

Parameters:

  • r Reader context.
  • out Output pointer.

Returns:

true on success, false on underflow.


function syn_cdr_read_u8

Read unsigned 8-bit integer.

bool syn_cdr_read_u8 (
    SYN_CDR_Reader * r,
    uint8_t * out
) 

Parameters:

  • r Reader context.
  • out Output pointer.

Returns:

true on success, false on underflow.


function syn_cdr_reader_init

Initialize CDR reader.

void syn_cdr_reader_init (
    SYN_CDR_Reader * r,
    const uint8_t * buf,
    size_t size
) 

Parameters:

  • r Reader context.
  • buf Input buffer.
  • size Buffer size.

function syn_cdr_write_bool

Write boolean.

bool syn_cdr_write_bool (
    SYN_CDR_Writer * w,
    bool v
) 

Parameters:

  • w Writer context.
  • v Value.

Returns:

true on success, false on overflow.


function syn_cdr_write_bytes

Write raw byte buffer without alignment padding.

bool syn_cdr_write_bytes (
    SYN_CDR_Writer * w,
    const uint8_t * bytes,
    size_t len
) 

Parameters:

  • w Writer context.
  • bytes Data buffer.
  • len Number of bytes.

Returns:

true on success, false on overflow.


function syn_cdr_write_double

Write 64-bit double (8-byte aligned).

bool syn_cdr_write_double (
    SYN_CDR_Writer * w,
    double v
) 

Parameters:

  • w Writer context.
  • v Value.

Returns:

true on success, false on overflow.


function syn_cdr_write_float

Write 32-bit float (4-byte aligned).

bool syn_cdr_write_float (
    SYN_CDR_Writer * w,
    float v
) 

Parameters:

  • w Writer context.
  • v Value.

Returns:

true on success, false on overflow.


function syn_cdr_write_i16

Write signed 16-bit integer (2-byte aligned).

bool syn_cdr_write_i16 (
    SYN_CDR_Writer * w,
    int16_t v
) 

Parameters:

  • w Writer context.
  • v Value.

Returns:

true on success, false on overflow.


function syn_cdr_write_i32

Write signed 32-bit integer (4-byte aligned).

bool syn_cdr_write_i32 (
    SYN_CDR_Writer * w,
    int32_t v
) 

Parameters:

  • w Writer context.
  • v Value.

Returns:

true on success, false on overflow.


function syn_cdr_write_i64

Write signed 64-bit integer (8-byte aligned).

bool syn_cdr_write_i64 (
    SYN_CDR_Writer * w,
    int64_t v
) 

Parameters:

  • w Writer context.
  • v Value.

Returns:

true on success, false on overflow.


function syn_cdr_write_i8

Write signed 8-bit integer.

bool syn_cdr_write_i8 (
    SYN_CDR_Writer * w,
    int8_t v
) 

Parameters:

  • w Writer context.
  • v Value.

Returns:

true on success, false on overflow.


function syn_cdr_write_string

Write null-terminated string with 32-bit length prefix and null terminator.

bool syn_cdr_write_string (
    SYN_CDR_Writer * w,
    const char * str
) 

Parameters:

  • w Writer context.
  • str String pointer.

Returns:

true on success, false on overflow.


function syn_cdr_write_u16

Write unsigned 16-bit integer (2-byte aligned).

bool syn_cdr_write_u16 (
    SYN_CDR_Writer * w,
    uint16_t v
) 

Parameters:

  • w Writer context.
  • v Value.

Returns:

true on success, false on overflow.


function syn_cdr_write_u32

Write unsigned 32-bit integer (4-byte aligned).

bool syn_cdr_write_u32 (
    SYN_CDR_Writer * w,
    uint32_t v
) 

Parameters:

  • w Writer context.
  • v Value.

Returns:

true on success, false on overflow.


function syn_cdr_write_u64

Write unsigned 64-bit integer (8-byte aligned).

bool syn_cdr_write_u64 (
    SYN_CDR_Writer * w,
    uint64_t v
) 

Parameters:

  • w Writer context.
  • v Value.

Returns:

true on success, false on overflow.


function syn_cdr_write_u8

Write unsigned 8-bit integer.

bool syn_cdr_write_u8 (
    SYN_CDR_Writer * w,
    uint8_t v
) 

Parameters:

  • w Writer context.
  • v Value.

Returns:

true on success, false on overflow.


function syn_cdr_writer_init

Initialize CDR writer.

void syn_cdr_writer_init (
    SYN_CDR_Writer * w,
    uint8_t * buf,
    size_t size
) 

Parameters:

  • w Writer context.
  • buf Target buffer.
  • size Buffer size.

function syn_xrce_client_create_datareader

Create a DDS DataReader entity.

SYN_Status syn_xrce_client_create_datareader (
    SYN_XRCE_Client * client,
    uint16_t reader_id,
    uint16_t subscriber_id,
    uint16_t topic_id
) 

Parameters:

  • client Client instance.
  • reader_id Object ID for the reader.
  • subscriber_id Parent subscriber ID.
  • topic_id Associated topic ID.

Returns:

SYN_OK on success.


function syn_xrce_client_create_datawriter

Create a DDS DataWriter entity.

SYN_Status syn_xrce_client_create_datawriter (
    SYN_XRCE_Client * client,
    uint16_t writer_id,
    uint16_t publisher_id,
    uint16_t topic_id
) 

Parameters:

  • client Client instance.
  • writer_id Object ID for the writer.
  • publisher_id Parent publisher ID.
  • topic_id Associated topic ID.

Returns:

SYN_OK on success.


function syn_xrce_client_create_participant

Create a DDS DomainParticipant entity.

SYN_Status syn_xrce_client_create_participant (
    SYN_XRCE_Client * client,
    uint16_t participant_id
) 

Parameters:

  • client Client instance.
  • participant_id Object ID for the participant.

Returns:

SYN_OK on success.


function syn_xrce_client_create_publisher

Create a DDS Publisher entity.

SYN_Status syn_xrce_client_create_publisher (
    SYN_XRCE_Client * client,
    uint16_t publisher_id,
    uint16_t participant_id
) 

Parameters:

  • client Client instance.
  • publisher_id Object ID for the publisher.
  • participant_id Parent participant ID.

Returns:

SYN_OK on success.


function syn_xrce_client_create_session

Connect and establish session with Micro-ROS Agent.

SYN_Status syn_xrce_client_create_session (
    SYN_XRCE_Client * client
) 

Parameters:

  • client Client instance.

Returns:

SYN_OK on success, SYN_ERROR on transport failure.


function syn_xrce_client_create_subscriber

Create a DDS Subscriber entity.

SYN_Status syn_xrce_client_create_subscriber (
    SYN_XRCE_Client * client,
    uint16_t subscriber_id,
    uint16_t participant_id
) 

Parameters:

  • client Client instance.
  • subscriber_id Object ID for the subscriber.
  • participant_id Parent participant ID.

Returns:

SYN_OK on success.


function syn_xrce_client_create_topic

Create a DDS Topic entity.

SYN_Status syn_xrce_client_create_topic (
    SYN_XRCE_Client * client,
    uint16_t topic_id,
    uint16_t participant_id,
    const char * topic_name,
    const char * type_name
) 

Parameters:

  • client Client instance.
  • topic_id Object ID for the topic.
  • participant_id Parent participant ID.
  • topic_name ROS 2 topic name (e.g. "sensors/imu").
  • type_name ROS 2 type identifier (e.g. "sensor_msgs::msg::dds_::Imu_").

Returns:

SYN_OK on success.


function syn_xrce_client_init

Initialize Micro XRCE-DDS Client.

SYN_Status syn_xrce_client_init (
    SYN_XRCE_Client * client,
    const SYN_XRCE_Config * cfg
) 

Parameters:

  • client Client context to initialize.
  • cfg Configuration options and buffers.

Returns:

SYN_OK on success, SYN_INVALID_PARAM on invalid argument.


function syn_xrce_client_pt

Protothread continuation function for syn_sched .

SYN_PT_Status syn_xrce_client_pt (
    SYN_PT * pt,
    SYN_Task * task
) 

Parameters:

  • pt Protothread continuation structure.
  • task Task handle containing SYN_XRCE_Client in user_data.

Returns:

SYN_PT_Status continuation status.


function syn_xrce_client_read_data

Request incoming topic samples from an active DataReader.

SYN_Status syn_xrce_client_read_data (
    SYN_XRCE_Client * client,
    uint16_t reader_id
) 

Parameters:

  • client Client instance.
  • reader_id DataReader entity ID.

Returns:

SYN_OK on success.


function syn_xrce_client_step

Advance the XRCE-DDS client state machine by one step / tick.

SYN_Status syn_xrce_client_step (
    SYN_XRCE_Client * client,
    uint32_t now_ms
) 

Parameters:

  • client Client instance.
  • now_ms Current timestamp in milliseconds.

Returns:

SYN_OK on success.


function syn_xrce_client_write_data

Publish CDR serialized data payload to a DataWriter.

SYN_Status syn_xrce_client_write_data (
    SYN_XRCE_Client * client,
    uint16_t writer_id,
    const uint8_t * data,
    size_t len
) 

Parameters:

  • client Client instance.
  • writer_id DataWriter entity ID.
  • data CDR payload buffer.
  • len Payload length.

Returns:

SYN_OK on success.


Macro Definition Documentation

define SYN_XRCE_CLIENT_KEY_DEFAULT

#define SYN_XRCE_CLIENT_KEY_DEFAULT `0xCAFEBABEU`

Default 32-bit client key


#define SYN_XRCE_COOKIE `0x0100U`

XRCE Header cookie


define SYN_XRCE_MAX_OBJECTS

#define SYN_XRCE_MAX_OBJECTS `16U`

Max simultaneously tracked entities


define SYN_XRCE_MAX_TOPIC_NAME

#define SYN_XRCE_MAX_TOPIC_NAME `64U`

Maximum topic string length


define SYN_XRCE_MAX_TYPE_NAME

#define SYN_XRCE_MAX_TYPE_NAME `64U`

Maximum type string length


define SYN_XRCE_OBJKIND_DATAREADER

#define SYN_XRCE_OBJKIND_DATAREADER `0x06U`

Object kind: DataReader


define SYN_XRCE_OBJKIND_DATAWRITER

#define SYN_XRCE_OBJKIND_DATAWRITER `0x05U`

Object kind: DataWriter


define SYN_XRCE_OBJKIND_PARTICIPANT

#define SYN_XRCE_OBJKIND_PARTICIPANT `0x01U`

Object kind: DomainParticipant


define SYN_XRCE_OBJKIND_PUBLISHER

#define SYN_XRCE_OBJKIND_PUBLISHER `0x03U`

Object kind: Publisher


define SYN_XRCE_OBJKIND_SUBSCRIBER

#define SYN_XRCE_OBJKIND_SUBSCRIBER `0x04U`

Object kind: Subscriber


define SYN_XRCE_OBJKIND_TOPIC

#define SYN_XRCE_OBJKIND_TOPIC `0x02U`

Object kind: Topic


define SYN_XRCE_SESSION_ID_DEFAULT

#define SYN_XRCE_SESSION_ID_DEFAULT `0x81U`

Default client session ID


define SYN_XRCE_STATUS_ERR_ALREADY_EXISTS

#define SYN_XRCE_STATUS_ERR_ALREADY_EXISTS `0x11U`

Status Error: Already exists


define SYN_XRCE_STATUS_ERR_INCOMPATIBLE

#define SYN_XRCE_STATUS_ERR_INCOMPATIBLE `0x14U`

Status Error: Incompatible


define SYN_XRCE_STATUS_ERR_INVALID_DATA

#define SYN_XRCE_STATUS_ERR_INVALID_DATA `0x13U`

Status Error: Invalid data


define SYN_XRCE_STATUS_ERR_RESOURCES

#define SYN_XRCE_STATUS_ERR_RESOURCES `0x15U`

Status Error: Out of resources


define SYN_XRCE_STATUS_ERR_UNKNOWN_REF

#define SYN_XRCE_STATUS_ERR_UNKNOWN_REF `0x12U`

Status Error: Unknown reference


define SYN_XRCE_STATUS_OK

#define SYN_XRCE_STATUS_OK `0x00U`

Status: OK


define SYN_XRCE_STATUS_OK_MATCHED

#define SYN_XRCE_STATUS_OK_MATCHED `0x01U`

Status: OK and matched


define SYN_XRCE_STREAM_BEST_EFFORT

#define SYN_XRCE_STREAM_BEST_EFFORT `0x01U`

Best-effort stream ID


define SYN_XRCE_STREAM_RELIABLE

#define SYN_XRCE_STREAM_RELIABLE `0x80U`

Reliable stream ID


define SYN_XRCE_SUBMSG_ACKNACK

#define SYN_XRCE_SUBMSG_ACKNACK `0x08U`

Submessage: ACKNACK


define SYN_XRCE_SUBMSG_CREATE

#define SYN_XRCE_SUBMSG_CREATE `0x01U`

Submessage: CREATE


define SYN_XRCE_SUBMSG_CREATE_CLIENT

#define SYN_XRCE_SUBMSG_CREATE_CLIENT `0x00U`

Submessage: CREATE_CLIENT


define SYN_XRCE_SUBMSG_DATA

#define SYN_XRCE_SUBMSG_DATA `0x05U`

Submessage: DATA


define SYN_XRCE_SUBMSG_DELETE

#define SYN_XRCE_SUBMSG_DELETE `0x02U`

Submessage: DELETE


define SYN_XRCE_SUBMSG_HEARTBEAT

#define SYN_XRCE_SUBMSG_HEARTBEAT `0x07U`

Submessage: HEARTBEAT


define SYN_XRCE_SUBMSG_READ_DATA

#define SYN_XRCE_SUBMSG_READ_DATA `0x04U`

Submessage: READ_DATA


define SYN_XRCE_SUBMSG_STATUS

#define SYN_XRCE_SUBMSG_STATUS `0x06U`

Submessage: STATUS


define SYN_XRCE_SUBMSG_WRITE_DATA

#define SYN_XRCE_SUBMSG_WRITE_DATA `0x03U`

Submessage: WRITE_DATA



The documentation for this class was generated from the following file src/syntropic/proto/syn_xrce_dds.h