Commit Graph

66 Commits

Author SHA1 Message Date
d388e29c36 Convert dds_reader to Vector Endpoint 2022-04-10 11:04:59 +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
Greek
98e50e89a9 Add ROS Service Server/Client TEMPLATE 2022-02-01 14:58:02 +01:00
Greek
5894fd9121 Add Level 2 ROS Service Test (AddTwoInts) 2022-01-29 11:12:31 +01:00
Greek
59bff52832 Rename rtps_builtin_endpoint to rtps_discovery_module 2022-01-16 18:12:11 +01:00
Greek
e0280ea490 Define RTPS/DDS Configuration in record type 2022-01-16 16:16:58 +01:00
Greek
3ee4769c52 Rename *_wrapper to *_interface
Since the Type Specific user facing entities did not actually wrap the
DDS entities, but connected to them through port signals, a more
semantically correct name would be "interface", since they are the user
facing interface of the DDS entities.
2022-01-03 14:25:27 +01:00
Greek
97e55ff623 Modify rtps_writer
ACK HANDLING
------------
If there are no remote reliable reader endpoints the new Cache Changes
are immediately ACKed/removed from the HC.
Internal Global ACK SN is set to SEQUENCENUMBER_UNKNOWN, and
only initialized on first reliable remote reader endpoint.
If all remote reliable reader endpints are unmatched the internal Global
ACK SN is set to SEQUENCENUMBER_UNKNOWN and all Cache Changes are
ACKed/removed from the HC.
PUSH MODE
---------
Historical DATA is no longer send on remote endpoint match, if PUSH mode
is FALSE.
TESTBENCH
---------
Level 1 Test2 of rtps_writer was split into 2 tests.
2021-12-23 12:19:11 +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
e65b152bc6 Modify Level 2 testcases (Test also Altera Implementations)
One Library of each Level 2 testbench is compiled with the Altera
implementations of FIFO and RAM.
2021-12-09 23:32:18 +01:00
Greek
c88d4ccf07 Modify rtps_out to use Dual Port RAM 2021-12-09 19:44:40 +01:00
Greek
e0453657ba Add Test2 Level 2 testbench
A loopback is implemented between 2 seperate systems with one reader and
one writer each. Type1 Topic Type is used.
2021-12-09 19:44:39 +01:00
Greek
70549853d5 code refactoring 2021-12-09 19:44:39 +01:00
Greek
0ede0537b7 Add test entities to test PL-PS communication 2021-12-09 19:44:37 +01:00
Greek
6e20b8958d Add VHDL configuration for single_port_ram and FWFT_FIFO
Allow single_port_ram and FWFT_FIFO to have Altera specific
architectures.
2021-12-09 19:43:56 +01:00
Greek
4830645a5a Move key_holder inside the DDS Entities 2021-11-19 12:00:07 +01:00
Greek
9cc4907a2f Add complete Level2 System Test
Using seperately compiled Libraries we interconnect two systems, and
test their communication and interaction.
A bug in rtps_builtin_endpoint was fixed (were if only the SUB data was
to be sent, it was never actually sent).
2021-11-17 14:23:53 +01:00
Greek
9ae15430f6 Add Type1 test type
Add IDL Definition, Reader/Writer Wrapper, Key Holder, and Testbenches
for a simple type.
2021-11-11 20:40:27 +01:00
Greek
af1de8bab8 Make Templates for reader/writer wrapper and key_holder
Templates with the pre-defined code hull for the reader_wrapper,
writer_wrapper, and key_holder were created.
A "cookbook" of how to expand this TEMPLATES to create type specific IDL
conversions was also added.
The "code generation" is kept general to allow a code generator to
automatically produce this wrappers in the future.
2021-11-11 20:19:26 +01:00
Greek
d907a85c07 Add Level 1 Test 2 of TYPE2 wrapper and key_holder
The writer_wrapper was modified to allow changing the used endian via
generic. This allows to test Little Endian handling in simulations.
The Test2 are basically Test1 with Little Endian
2021-11-07 16:21:20 +01:00
Greek
27aa801e74 Add Level 1 Test 1 of TYPE2 key_holder
The writer_wrapper is used to push normal payloads, and the serialized
key is hardcoded and compared to the output.
2021-11-07 16:19:31 +01:00
Greek
eef62e17ce Add Level 1 Test 1 for Type2 Reader and Writer Wrapper
By connecting the output of the writer_wrapper to the input of the
reader_wrapper we can effectively test the encoding/decoding.
Since the writer_wrapper only uses Big Endian we cannot test Little
Endian handling.
2021-11-05 14:26:45 +01:00
Greek
609ed2d686 Code Refactor 2021-05-15 20:39:56 +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
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
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
Greek
09e74e9ddb Add Test3 of RTPS Writer
Test RTPS Output (HEARTBEAT Message Generation & Manual By Topic
Liveliness Assertion) of the RTPS Writer.
Compiling and Passing
2021-03-03 12:24:23 +01:00
Greek
f96af25a6a Add Test2 of RTPS Writer
Test RTPS Output (DATA and GAP Message Generation) of the RTPS Writer.
Backport some small changes to Test1.
Compiling and Passing
2021-03-02 18:48:01 +01:00
Greek
c9f0d70979 Add Test1 of RTPS Writer
Test metatraffic behaviour of RTPS Writer.
Compiling and Passing.
2021-02-26 14:39:53 +01:00
Greek
597edb5f94 Add test 4 of RTPS Reader (Level 1)
Check the output handling (ACKNACK Response) of the RTPS Reader.
Compiling and Passing
2021-02-26 14:39:43 +01:00
Greek
260acba5b6 Add test 3 of RTPS Reader
Test Liveliness Handling of RTPS Reader.
Test 2 expanded with extra case for Little Endian Handling.
Compiling and Passing
2021-02-22 12:16:47 +01:00
Greek
4530688c8b Add test 2 of RTPS Reader
Test user traffic handling (DATA, HEARTBEAT, GAP).
Compiling and Passing
2021-02-21 00:02:22 +01:00
Greek
1dc1d89f98 Add Test1 of RTPS Reader
Test metatraffic behaviour of RTPS Reader.
Compiling and Passing.
2021-02-20 14:08:06 +01:00
Greek
7244fffacd Memory Size of rtps_builtin_endpoint made Generic
Each Entity that contains a memory will have an independent size
generic. The testbench was modified to accomodate different RAM memory
sizes. This in effect makes all Memory related stuff pre-entity
dependant. The rtps_test_package needs updated Frame Sizes for the Tests
to work properly.
2021-02-17 10:51:57 +01:00
Greek
bfdc366273 Modify Endpoint Match Frame, Fix Test Suite
The reader falgs (Expects In-line QoS, Expects Historical Data, Is Best
Effort) of the remote reader is transfered in the Metatraffic Endpoint
Match Frame.
The Level 1 rtps_builtin_endpoint test was also fixed.
2021-02-15 13:50:48 +01:00
Greek
9ff39c6fea Remove HIGHEST_AVAILABLE_SN from local endpoint buffer 2021-01-11 18:45:37 +01:00