Commit Graph

85 Commits

Author SHA1 Message Date
1ed234e85c rtps_writer: Send HEARTBEAT immediately on remote endpoint match 2022-04-16 13:02:28 +02:00
d388e29c36 Convert dds_reader to Vector Endpoint 2022-04-10 11:04:59 +02:00
ddacbb6d2b code refactoring 2022-04-10 11:04:16 +02:00
5e7ea79887 Convert dds_writer to Vector Endpoint 2022-04-10 11:04:02 +02:00
54602a1f21 Convert rtps_reader to Vector Endpoint 2022-04-05 17:20:22 +02:00
f6fec48a0e Convert rtps_writer to Vector Endpoint
rtps_writer now can be configured to simulate multiple endpoints. All
Testbenched were modified to reflect and test this change.
Packages were extended with array definitions.
2022-04-05 17:18:07 +02:00
ad03ae6ecd Remove RTPS_OUT_DATA_TYPE and modify rtps_out with generic 2022-03-20 11:49:41 +01:00
70072a51bf Change memory format of rtps_discovery_module to use double linked list 2022-03-13 12:43:13 +01:00
290807f2ae BUG FIX: rtps_reader/rtps_discovery_module GAP Processing
An internal signal was initialized wrongly, and due to various
other reasons (testbench bug, to_integer conversion bug) was not picked
up by the testbenches.
2022-03-13 12:43:13 +01:00
76824037d1 Change memory format of rtps_reader to use double linked list 2022-03-13 12:43:13 +01:00
1e2a835c02 Change memory format of rtps_writer to use double linked list 2022-03-13 12:43:12 +01:00
cf3daa12b0 Define record for sample_info of DDS Reader 2022-02-19 11:58:40 +01:00
f9cb1a8d0e Change Testbench String to reflect file names 2022-02-05 13:35:33 +01:00
Greek
59bff52832 Rename rtps_builtin_endpoint to rtps_discovery_module 2022-01-16 18:12:11 +01:00
Greek
4b81cf9484 Propagate LIFESPAN through ENDPOINT_MATCH_FRAME instead of inline QoS
Since we disabled the 'expectsInlineQoS' Flag due to Cyclone DDS
compatibility, we no longer have access to the lifespan of the remote
writers.
The Endpoint Match Format was changed to also send the Lifespan Duration
from the rtps_builtin_endpoint.
2021-12-23 16:20:18 +01:00
Greek
56b80bead2 Match rtps_reader with remote writers (not readers) in testbench 2021-12-23 12:19:19 +01:00
Greek
20dff4a208 BUG FIX: Default Reliability is different for Readers and Writers 2021-12-15 16:49:32 +01:00
Greek
6d609a5a34 CYCLONE DDS Compatibility: Remove expectsinlineQoS Flag
Apparently Cyclone DDS does not support Readers with the inline QoS
Flag.
Change rtps_test_package to generate only necessary PIDs (e.g. no
PID_EXPECTS_INLINE_QOS for writers)
2021-12-15 15:58:07 +01:00
Greek
49fc01cf6b BUG FIX: rtps_handler was droping valid ACKNACKs and GAPs
The rtps_handler was droping SequenceNumberSets where the 0 bit was set.
The rtps_handler Test1 was also extended a bit to test for more invalid
variants.
2021-12-14 13:09:10 +01:00
Greek
02f0fbfb98 Add PREFER_MULTICAST generic in rtps_buildin_endpoint
Until now the rtps_builtin_endpoint was using the last parsed Locator as
the Locator of choice.
The rtps_builtin_endpoint was extended with a PREFER_MULTICAST boolean
generic that allows to influence which locators are used.
Test1 of rtps_builtin_endpoint was split in two, to test both settings
of the generic.
2021-12-13 14:31:33 +01:00
Greek
48468d1131 BUG FIX: PID is affected by endianness 2021-12-11 12:20:52 +01:00
Greek
c88d4ccf07 Modify rtps_out to use Dual Port RAM 2021-12-09 19:44:40 +01:00
Greek
ddc331d9ba Redesign Interface and Instance Handle Responses of dds_writer
The REGISTER_INSTANCE and LOOKUP_INSTANCE DDS Writer Operations return
an Instance Handle. Until now this instance Handle was returned via the
Data output interface of the dds_writer (ready_out, valid_out,
data_out_last_word_out).
This was changed, so that the dds_writer directly outputs the Instance
Handle via a dedicated port while asserting the done Signal.
This has the result that the <TYPENAME>_writer_wrapper no longer
"exports" data out signals from the dds_writer.
All relevant instantiations and testcases are changed accordingly
2021-12-09 19:44:38 +01:00
Greek
cffaafb284 Code refactoring 2021-11-20 16:01:57 +01:00
Greek
4830645a5a Move key_holder inside the DDS Entities 2021-11-19 12:00:07 +01:00
Greek
e87d84ba24 Modify ports of rtps_builtin_endpoint according to port naming convention
The ports to rtps_out from the rtps_reader and rtps_writer entities were
also modified to apply a uniform naming.
2021-11-18 16:44:42 +01:00
Greek
399bd2bbda Modify ports of rtps_handler according to port naming convention 2021-11-18 12:20:20 +01:00
Greek
8f9f445f21 Add documentation 2021-11-17 14:27:30 +01:00
Greek
e33d982182 Add 'si_ack' to DDS Reader
Previously the simaple info data was valid for exectly 1 clock cycle,
in which the user had to pull the 'get_data' signal if he wanted the
associated payload.
This change allows the user to control how long the sample info data is
shown.
2021-11-03 18:33:35 +01:00
Greek
609ed2d686 Code Refactor 2021-05-15 20:39:56 +02:00
Greek
4392aa8288 Parse PID_STATUS_INFO in RTPS Builtin Endpoint
The inline-QoS of PDP Packets is parsed, and Participants/Endpoints can
be unmatched by Unregister/Dispose Status Info Updates.
Test 1,2,3 was extended to test this functionality.
NOTE: PID_KEY_HASH is a requirement (at least for unmatching Endpoints),
as serialized key payloads are unsupported.
2021-05-14 12:08:21 +02:00
Greek
8cd1c29518 Backport GAP parsing logic to RTPS Builtin Endpoint
The GAP parsing logic was backported from RTPS Reader, so that the RTPS
Builtin Endpoint can parse all kind of GAP without making assumptions.
The Test 4 of the RTPS Builtin Endpoint was extended to test HAERTBEAT and GAP Handling of the RTPS
Builting endpoint, and Test 2 of the RTPS Reader was extended with an
additional Test (GAP with next expected SN not marked in bitmap)
2021-05-13 13:31:00 +02:00
Greek
293d89f083 NACK SN in ACKNACk Response of RTPS Builtin Endpoint
Until now the ACKNACK Response of the RTPS Builtin Endpoint had an empty
Bitmap, effectively ACKing SNs, but never NACKing any (i.e. not
requesting any).
Similar to the RTPS Endpoints we request the next 32 SNs on every
ACKNACK Response.
The ParticipantMessageData SN Handling was also implemented.
2021-05-12 12:09:29 +02:00
Greek
90a4c7928a Backport Memory Controller to rtps_builtin_endpoint
Backport Memory Controller and Memory FSM from RTPS/DDS Endpoints to
RTPS Builtin Endpoint.
The Memory is now using a single linked list and the FSM uses Frame Field
Flags.
The main FSM uses check_time to initiate stale checks, and the stale
checks are done in the main FSM.
Testbench was modified to accomodate the changes (Previous L0 Test4 was
removed and integrated in L0 Test 1).
2021-05-11 13:23:55 +02:00
Greek
e067952e49 Add test 7 of DDS Reader
Test the bitmap writer conversion to/from memory.
2021-04-30 16:33:06 +02:00
Greek
131ee48f2a Add test 6 of DDS Reader
Test the Lifespan Handling of the DDS Reader
2021-04-30 14:48:32 +02:00
Greek
4fc9029554 REMOVE_WRITER DDS Operation generates Samples
The REMOVE_WRITER DDS Operation of DDS Reader now generates Samples if
the Instance State changes.
Updated testbench.
Added checks for DATA_AVAILABLE communication status.
2021-04-30 13:03:13 +02:00
Greek
996c1fe962 Add test 5 of DDS Reader
Test Sample Rejected Status Handling.
Test GET_SAMPLE_REJECTED_STATUS DDS Operation.
Extend Sample Rejected Status Kind by REJECTED_BY_PAYLOAD_MEMORY_LIMIT
2021-04-26 20:47:00 +02:00
Greek
7a096de5c1 Add test 4 of DDS Reader
Test Deadline Handling of the DDS Reader.
Test the GET_REQUESTED_DEADLINE_MISSED_STATUS DDS Operation.
Add Documentation to some Testbenches.
2021-04-26 12:57:09 +02:00
Greek
0beafe13b3 Add test 3 of the DDS Reader
Test the DDS READ, TAKE, READ_NEXT_SAMPLE, TAKE_NEXT_SAMPLE,
READ_INSTANCE, TAKE_INSTANCE, READ_NEXT_INSTANCE, TAKE_NEXT_INSTANCE
Operations.
Backport fixes to previous testbenches.
Change handling of DISPOSE Samples of unknown Instances.
2021-04-25 16:12:22 +02:00
Greek
5a0eeef1e6 Add test 2 of DDS Reader
Test TIME_BASED_FILTER QoS Handling.
2021-04-18 16:17:24 +02:00
Greek
49f3c3eb65 Change DDS Reader - User Interface
The si_last Signal was replaced with eoc (End of Collection)
The eoc signal is pulled high after the last si_valid.
2021-04-18 15:50:53 +02:00
Greek
bac011905a Add Test 1 of DDS Reader
Test RTPS Operations ADD_CACHE_CHANGE, and REMOVE_WRITER of DDS Reader.
Port changes and code refoctoring in DDS Writer.
2021-04-11 16:39:17 +02:00
Greek
4a67a18df2 Add Test 5 of DDS Writer
Test Lifespan Handling of DDS Writer.
2021-03-29 17:55:11 +02:00
Greek
501f67a67f Add Test4 of DDS Writer
Test Liveliness handling of RTPS Writer.
Test GET_LIVELINESS_LOST_STATUS and ASSERT_LIVELINESS DDS Operations
2021-03-29 14:13:26 +02:00
Greek
7c2978e863 Add Test3 of DDS Writer
Test Deadline Handling of DDS Writer.
Test GET_OFFERED_DEADLINE_MISSED_STATUS DDS Operation.
2021-03-29 14:13:08 +02:00
Greek
069657ee3b Add Test2 of DDS Writer
Test for WAIT_FOR_ACKNOWLEDGEMENT DDS Operation
2021-03-28 19:59:05 +02:00
Greek
a6802cc538 Add Test1 of DDS Writer
Test RTPS GET_MIN_SN, GET_MAX_SN, GET_CACHE_CHANGE, REMOVE_CACHE_CHANGE,
ACK_CACHE_CHANGE, and NACK_CACHE_CHANGE Operations.
Test DDS Register, Unregister, Write, Dispose, and Lookup Instance
Operations.
2021-03-21 18:49:59 +01:00
Greek
981ca09149 Change Type-Dependant Code Interface, and Code refactoring
The instantiation of the KEY related entities is moved outside the DDS
Endpoints (Currently only changed in DDS Writer). Define new KEY_HOLDER
entity that is responsible for all Key related type-specific code.
Fix syntax of DDS Writer, and misc code refactoring.
2021-03-09 14:56:54 +01:00
Greek
3ba5fae871 Add Test4 of RTPS Writer
Test remote Reader Liveliness handling of RTPS Writer.
Backport fix to RTPS Reader.
Compiling and Passing
2021-03-03 18:40:36 +01:00