Minor declaration & documentation fixes

This commit is contained in:
Greek 2021-11-02 11:29:09 +01:00
parent e33d982182
commit ee67fe9493
4 changed files with 483 additions and 440 deletions

5
.gitignore vendored
View File

@ -1,7 +1,6 @@
#Ignore List
/syn/**
/sim/**
/download/**
*.NPPSESS
#Unignore Directories (Needed to unignore files in Subdirectories)
@ -24,3 +23,7 @@
!*.qsf
#QSYS File
!*.qsys
#Delete download from existence
/download
/download/**

View File

@ -71,105 +71,110 @@ RTPS IN/OUT FORMAT
==================
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-------------------------------------------------------------+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+---------------------------------------------------------------+
| SRC_IPv4_ADDR |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
| DEST_IPv4_ADDR |
+-----------------------------+-------------------------------+
+-------------------------------+-------------------------------+
| SRC_UDP_PORT | DEST_UDP_PORT |
+-----------------------------+-------------------------------+
+-------------------------------+-------------------------------+
| PACKET_LENGTH |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
| |
~ PACKET ~
| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
ENDPOINT PACKET FORMAT
======================
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-------------+---------------+-------------------------------+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+---------------+---------------+-------------------------------+
| OPCODE | FLAGS | SRC_UDP_PORT |
+-------------+---------------+-------------------------------+
+---------------+---------------+-------------------------------+
| SRC_IPv4_ADDR |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
| |
+ +
| SRC_GUIDPREFIX |
+ +
| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
| SRC_ENTITYID |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
| DEST_ENTITYID [only for Builtin Destinations] |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
| |
+ Sequence Number [only for DATA Submessage] +
| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
| |
+ Timestamp +
| [only for DATA Submessage and User Destinations] |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
| |
~ PAYLOAD (SUBMESSAGE CONTENT) ~
| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
HEARTBEAT PAYLOAD
-----------------
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-------------------------------------------------------------+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+---------------------------------------------------------------+
| |
+ FirstSN +
| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
| |
+ LastSN +
| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
| Count |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
ACKNACK PAYLOAD
---------------
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-------------------------------------------------------------+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+---------------------------------------------------------------+
| |
+ ReaderSNState.BASE +
| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
| ReaderSNState.NumBits |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
| [ReaderSNState.Bitmap] x 0-8 |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
| Count |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
GAP PAYLOAD
-----------
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-------------------------------------------------------------+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+---------------------------------------------------------------+
| |
+ GapStart +
| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
| |
+ GapList.BASE +
| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
| GapList.NumBits |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
| [GapList.Bitmap] x 0-8 |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
| UNUSED |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
ENDPOINT_ID
===========
@ -187,56 +192,57 @@ HISTORY: kind = KEEP_LAST, depth = 1
PARTICICPANT DATA
=================
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-------------------------------------------------------------+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+---------------------------------------------------------------+
00| NEXT_ADDRESS |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
01| |
+ +
02| GUIDPREFIX |
+ +
03| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
04| META_IPv4_ADDRESS |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
05| DEFAULT_IPv4_ADDRESS |
+-----------------------------+-------------------------------+
+-------------------------------+-------------------------------+
06| META_UDP_PORT | DEFAULT_UDP_PORT |
+-----------------------------+-------------------------------+
+-------------------------------+-------------------------------+
07| |
+ SPDP_SEQ_NR +
08| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
09| |
+ LEASE_DURATION +
10| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
11| |
+ LEASE_DEADLINE +
12| |
+-------------------------------------------------------+-+-+-+
+---------------------------------------------------------+-+-+-+
13| UNUSED |P|S|M|
+-------------------------------------------------------+-+-+-+
+---------------------------------------------------------+-+-+-+
14| |
+ ACKNACK_RES_TIME +
15| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
16| |
+ HEARTBEAT_RES_TIME +
17| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
18| |
+ PUBLICATION_SEQ_NR +
19| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
20| |
+ SUBSCRIPTION_SEQ_NR +
21| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
22| |
+ MESSAGE_SEQ_NR +
23| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
M...Send Message Data (Liveliness Update)
S...Send Subriber Data
@ -246,26 +252,28 @@ P...Send Publisher Data
ENDPOINT MATCH FRAME
====================
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-------------------------------------------------------------+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+---------------------------------------------------------------+
00| OPCODE |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
01| |
+ +
02| GUIDPREFIX |
+ +
03| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
04| ENTITYID |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
05| IPv4_ADDRESS |
+-----------------------------+-------------------------------+
+-------------------------------+-------------------------------+
06| UDP_PORT | READER_FLAGS |
+-----------------------------+-------------------------------+
+-------------------------------+-------------------------------+
READER_FLAGS
------------
16..............8...............0
15............8...............0
| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-------------------------+-+-+-+
| UNUSED |B|H|Q|
@ -277,46 +285,49 @@ B...Reader has RELIABILITY BEST_EFFORT
ENDPOINT UNMATCH FRAME
======================
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-------------------------------------------------------------+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+---------------------------------------------------------------+
00| OPCODE |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
01| |
+ +
02| GUIDPREFIX |
+ +
03| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
04| ENTITYID |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
PARTICIPANT UNMATCH FRAME
=========================
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-------------------------------------------------------------+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+---------------------------------------------------------------+
00| OPCODE |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
01| |
+ +
02| GUIDPREFIX |
+ +
03| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
ENDPOINT LIVELINESS UPDATE
==========================
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-------------------------------------------------------------+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+---------------------------------------------------------------+
00| OPCODE |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
01| |
+ +
02| GUIDPREFIX |
+ +
03| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
LOCAL ENDPOINT BUFFER
=====================
@ -324,72 +335,75 @@ LOCAL ENDPOINT BUFFER
READER
------
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-------------------------------------------------------------+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+---------------------------------------------------------------+
00| ENTITYID |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
01| |
+ +
02| GUIDPREFIX |
+ +
03| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
04| IPv4_ADDRESS | [Reliable Only]
+-----------------------------+-------------------------------+
+-------------------------------+-------------------------------+
05| UDP_PORT | UNUSED | [Reliable Only]
+-----------------------------+-------------------------------+
+-------------------------------+-------------------------------+
06| |
+ NEXT_SEQ_NR +
07| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
08| |
+ LEASE_DEADLINE +
09| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
10| |
+ RES_TIME + [Reliable Only]
11| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
WRITER
------
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-------------------------------------------------------------+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+---------------------------------------------------------------+
00| ENTITYID |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
01| |
+ +
02| GUIDPREFIX |
+ +
03| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
04| IPv4_ADDRESS |
+-----------------------------+-------------------------------+
+-------------------------------+-------------------------------+
05| UDP_PORT | READER_FLAGS |
+-----------------------------+-------------------------------+
+-------------------------------+-------------------------------+
06| |
+ LEASE_DEADLINE + [Reliable Only]
07| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
08| |
+ RES_TIME + [Reliable Only]
09| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
10| |
+ ACK_SEQ_NR_BASE + [Reliable Only]
11| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
12| |
+ REQ_SEQ_NR_BASE + [Reliable Only]
13| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
14| REQ_BITMAP | [Reliable Only]
+-------------------------------------------------------------+
+---------------------------------------------------------------+
READER_FLAGS
------------
16..............8...............0
15............8...............0
| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-------------------------+-+-+-+
| UNUSED |B|H|Q|
@ -404,38 +418,40 @@ HISTORY CACHE
READER
------
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-------------------------------------------------------------+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+---------------------------------------------------------------+
00| STATUS_INFO |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
01| |
+ TIMESTAMP +
02| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
03| |
+ LIFESPAN_DEADLINE +
04| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
05| PAYLOAD_ADDRESS |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
06| INSTANCE_ADDRESS | [only if WITH_KEY]
+-------------------------------------------------------------+
+---------------------------------------------------------------+
07| DISPOSED_GENERATION_COUNT |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
08| NO_WRITERS_GENERATION_COUNT |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
09| PREV_ADDRESS |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
10| NEXT_ADDRESS |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
STATUS INFO
-----------
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-------------------------------------------------+-+-+-+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+---------------------------------------------------+-+-+-+
|R|P|A| UNUSED |F|U|D|
+-+-+-+-------------------------------------------------+-+-+-+
+-+-+-+---------------------------------------------------+-+-+-+
R...Sample has been Read
P...Sample has associated DATA Payload
@ -450,38 +466,40 @@ NOTE: The Key Hash Flag is actually only needed during the ADD_CACHE_CHANGE proc
WRITER
------
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-------------------------------------------------------------+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+---------------------------------------------------------------+
00| STATUS_INFO |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
01| |
+ SEQ_NR +
02| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
03| |
+ TIMESTAMP +
04| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
05| |
+ LIFESPAN_DEADLINE + [only if LIFESPAN /= INFINITE]
06| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
07| PAYLOAD_ADDRESS |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
08| INSTANCE_ADDRESS | [only if WITH_KEY]
+-------------------------------------------------------------+
+---------------------------------------------------------------+
09| PREV_ADDRESS |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
10| NEXT_ADDRESS |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
STATUS INFO
-----------
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-------------------------------------------------+-+-+-+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+---------------------------------------------------+-+-+-+
|R|P|A| UNUSED |F|U|D|
+-+-+-+-------------------------------------------------+-+-+-+
+-+-+-+---------------------------------------------------+-+-+-+
R...Sample has been ACKed
P...Sample has associated DATA Payload
@ -494,32 +512,34 @@ D...DisposedFlag (1:1 PID_STATUS_INFO Mapping)
PAYLOAD MEMORY
==============
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-------------------------------------------------------------+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+---------------------------------------------------------------+
00| NEXT_ADDRESS |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
01| |
~ PAYLOAD ~
**| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
DDS ENTITY INPUT
================
READER
------
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-------------------------------------------------------------+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+---------------------------------------------------------------+
00| STATUS_INFO |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
01| |
+ TIMESTAMP +
02| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
03| |
+ LIFESPAN_DEADLINE +
04| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
05| |
+ +
06| |
@ -527,21 +547,22 @@ READER
07| |
+ +
08| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
09| WRITER_ID |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
10| |
~ PAYLOAD ~
**| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
STATUS INFO
-----------
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-----------------------------------------------+-+-+-+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-------------------------------------------------+-+-+-+
| |P| |K| UNUSED |F|U|D|
+-+-+-+-+-----------------------------------------------+-+-+-+
+-+-+-+-+-------------------------------------------------+-+-+-+
P...Sample has associated DATA Payload
K...Key Hash available
@ -556,10 +577,11 @@ INSTANCE MEMORY
READER
------
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-------------------------------------------------------------+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+---------------------------------------------------------------+
00| NEXT_ADDRESS |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
01| |
+ +
02| |
@ -567,31 +589,32 @@ READER
03| |
+ +
04| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
05| STATUS_INFO |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
06| SAMPLE_COUNT |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
07| DISPOSED_GENERATION_COUNT |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
08| NO_WRITERS_GENERATION_COUNT |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
09| |
+ IGNORE_DEADLINE + [only TIME_BASED_FILTER]
10| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
11| |
~ WRITER_BITMAP ~
**| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
STATUS INFO
-----------
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-------------------------------------------------+-+-+-+-+-+-+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+---------------------------------------------------+-+-+-+-+-+-+
| UNUSED |G|M|V|L|W|D|
+-------------------------------------------------+-+-+-+-+-+-+
+---------------------------------------------------+-+-+-+-+-+-+
D...NOT_ALIVE_DISPOSED
W...NOT_ALIVE_NO_WRITERS
@ -603,10 +626,11 @@ G...GENERATE SAMPLE
WRITER
------
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-------------------------------------------------------------+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+---------------------------------------------------------------+
00| NEXT_ADDRESS |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
01| |
+ +
02| |
@ -614,22 +638,23 @@ WRITER
03| |
+ +
04| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
05| STATUS_INFO |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
06| SAMPLE_COUNT |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
07| ACK_COUNT |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
STATUS INFO
-----------
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-------------------------------------------------------+-+-+-+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+---------------------------------------------------------+-+-+-+
| UNUSED |L|U|D|
+-------------------------------------------------------+-+-+-+
+---------------------------------------------------------+-+-+-+
D...DISPOSED
W...UNREGISTERED
@ -638,17 +663,19 @@ L...LIVELINESS FLAG
OUTPUT DATA
===========
31............24..............16..............8...............0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+---------------------------------------------------------------+
00| SRC_IPv4_ADDRESS |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
01| DEST_IPv4_ADDRESS |
+-----------------------------+-------------------------------+
+-------------------------------+-------------------------------+
02| SRC_UDP_PORT | DEST_UDP_PORT |
+-----------------------------+-------------------------------+
+-------------------------------+-------------------------------+
03| |
~ RTPS_MESSAGE ~
**| |
+-------------------------------------------------------------+
+---------------------------------------------------------------+
TOPIC KEYS
@ -694,6 +721,17 @@ implementations must include an InfoTimestamp Submessage with every update from
The ParameterList may contain multiple Parameters with the same value for the parameterId.
This is used to provide a collection of values for that kind of Parameter.
9.4.2.11 (DDSI-RTPS)
For alignment purposes, the CDR stream is logically reset for each parameter value (i.e., no initial padding is
required) after the parameterId and length are serialized.
7.4.3.5.2 Encoding of Optional Members (DDS-XTYPES)
PLAIN_CDR serializes optional members by prepending either a ShortMemberHeader or a 12
byte LongMemberHeader. See Clause 7.4.1.1.5.2. The associated size is set to zero if the
optional member is not present or to the actual serialized size if the member is present. These
headers are serialized at a 4-byte offset relative to the current stream origin (XCDR.origin) and
adjust the alignment origin to zero for the serialization of the member itself.
DDS_Advanced_Tutorial_2006_00-T1-2_Pardo.pdf
P.16

View File

@ -395,12 +395,12 @@ architecture arch of rtps_builtin_endpoint is
alias header_flags : std_logic_vector(7 downto 0) is data_in(23 downto 16);
alias header_udp_port : std_logic_vector(15 downto 0) is data_in(15 downto 0);
-- RTPS PARAMETER LIST HEADER
alias parameter_id : std_logic_vector(15 downto 0) is data_in(31 downto 16);
alias parameter_length : std_logic_vector(15 downto 0) is data_in(15 downto 0);
alias must_understand : std_logic is parameter_id(14);
alias parameter_id : std_logic_vector(PARAMETER_ID_WIDTH-1 downto 0) is data_in(WORD_WIDTH-1 downto WORD_WIDTH-PARAMETER_ID_WIDTH);
alias parameter_length : std_logic_vector(PARAMETER_LENGTH_WIDTH-1 downto 0) is data_in(PARAMETER_LENGTH_WIDTH-1 downto 0);
alias must_understand : std_logic is parameter_id(PARAMETER_ID_WIDTH-1);
-- RTPS DATA PAYLOAD HEADER
alias representation_id : std_logic_vector(15 downto 0) is data_in(31 downto 16);
alias representation_options : std_logic_vector(15 downto 0) is data_in(15 downto 0);
alias representation_id : std_logic_vector(PAYLOAD_REPRESENTATION_ID_WIDTH-1 downto 0) is data_in(WORD_WIDTH-1 downto WORD_WIDTH-PAYLOAD_REPRESENTATION_ID_WIDTH);
alias representation_options : std_logic_vector(PAYLOAD_REPRESENTATION_ID_WIDTH-1 downto 0) is data_in(PAYLOAD_REPRESENTATION_OPTIONS_WIDTH-1 downto 0);
-- RTPS SUBMESSAGE FLAGS
alias endian_flag : std_logic is flags(0);
alias endian_flag_next : std_logic is flags_next(0);

View File

@ -14,10 +14,12 @@ package rtps_package is
constant UDP_PORT_WIDTH : natural := 16;
constant IPv4_ADDRESS_WIDTH : natural := 32;
constant UDP_HEADER_LENGTH_WIDTH : natural := 16;
-- CDR ENCODING WIDTHS
-- IDL CDR ENCODING WIDTHS
constant CDR_INT8_WIDTH : natural := 8;
constant CDR_CHAR_WIDTH : natural := 8;
constant CDR_OCTET_WIDTH : natural := 8;
constant CDR_BOOLEAN_WIDTH : natural := 8;
constant CDR_WCHAR_WIDTH : natural := 16;
constant CDR_SHORT_WIDTH : natural := 16;
constant CDR_ENUMERATION_SHORT_WIDTH : natural := 16;
constant CDR_LONG_WIDTH : natural := 32;
@ -25,7 +27,7 @@ package rtps_package is
constant CDR_ENUMERATION_WIDTH : natural := 32;
constant CDR_LONG_LONG_WIDTH : natural := 64;
constant CDR_DOUBLE_WIDTH : natural := 64;
constant CDR_LONG_DOUBLE_WIDTH : natural := 64;
constant CDR_LONG_DOUBLE_WIDTH : natural := 128;
-- RTPS
-- NOTE: Widths not defined with a CDR Width are defined as byte arrays (Same Endian representation)
constant GUIDPREFIX_WIDTH : natural := 96;
@ -159,16 +161,16 @@ package rtps_package is
constant ANY_SAMPLE_STATE : std_logic_vector(SAMPLE_STATE_KIND_WIDTH-1 downto 0) := x"FFFFFFFF";
-- *VIEW STATE KIND* (DDS)
constant NEW_VIEW_STATE : std_logic_vector(SAMPLE_STATE_KIND_WIDTH-1 downto 0) := x"00000001";
constant NOT_NEW_VIEW_STATE : std_logic_vector(SAMPLE_STATE_KIND_WIDTH-1 downto 0) := x"00000002";
constant ANY_VIEW_STATE : std_logic_vector(SAMPLE_STATE_KIND_WIDTH-1 downto 0) := x"FFFFFFFF";
constant NEW_VIEW_STATE : std_logic_vector(VIEW_STATE_KIND_WIDTH-1 downto 0) := x"00000001";
constant NOT_NEW_VIEW_STATE : std_logic_vector(VIEW_STATE_KIND_WIDTH-1 downto 0) := x"00000002";
constant ANY_VIEW_STATE : std_logic_vector(VIEW_STATE_KIND_WIDTH-1 downto 0) := x"FFFFFFFF";
-- *INSTANCE STATE KIND* (DDS)
constant ALIVE_INSTANCE_STATE : std_logic_vector(SAMPLE_STATE_KIND_WIDTH-1 downto 0) := x"00000001";
constant NOT_ALIVE_DISPOSED_INSTANCE_STATE : std_logic_vector(SAMPLE_STATE_KIND_WIDTH-1 downto 0) := x"00000002";
constant NOT_ALIVE_NO_WRITERS_INSTANCE_STATE : std_logic_vector(SAMPLE_STATE_KIND_WIDTH-1 downto 0) := x"00000004";
constant NOT_ALIVE_INSTANCE_STATE : std_logic_vector(SAMPLE_STATE_KIND_WIDTH-1 downto 0) := x"00000006";
constant ANY_INSTANCE_STATE : std_logic_vector(SAMPLE_STATE_KIND_WIDTH-1 downto 0) := x"FFFFFFFF";
constant ALIVE_INSTANCE_STATE : std_logic_vector(INSTANCE_STATE_KIND_WIDTH-1 downto 0) := x"00000001";
constant NOT_ALIVE_DISPOSED_INSTANCE_STATE : std_logic_vector(INSTANCE_STATE_KIND_WIDTH-1 downto 0) := x"00000002";
constant NOT_ALIVE_NO_WRITERS_INSTANCE_STATE : std_logic_vector(INSTANCE_STATE_KIND_WIDTH-1 downto 0) := x"00000004";
constant NOT_ALIVE_INSTANCE_STATE : std_logic_vector(INSTANCE_STATE_KIND_WIDTH-1 downto 0) := x"00000006";
constant ANY_INSTANCE_STATE : std_logic_vector(INSTANCE_STATE_KIND_WIDTH-1 downto 0) := x"FFFFFFFF";
-- *SAMPLE REJECTED STATUS KIND* (DDS)
constant NOT_REJECTED : std_logic_vector(CDR_ENUMERATION_WIDTH-1 downto 0) := std_logic_vector(to_unsigned(0,CDR_ENUMERATION_WIDTH));