Commit Graph

48 Commits

Author SHA1 Message Date
Greek
63ce5642de Add AddTwoInts ROS Service Implementation
A complete ROS service server and client implementation of the
example_interfaces AddTwoInts service is done, along with an acompaning
testbench.
2022-01-24 17:53:07 +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
20dff4a208 BUG FIX: Default Reliability is different for Readers and Writers 2021-12-15 16:49:32 +01:00
Greek
48468d1131 BUG FIX: PID is affected by endianness 2021-12-11 12:20:52 +01:00
5d9acb6f41 Add directive to allow QSYS Compilation
QSYS does not allow to change the VHDL version of processed files.
All respective files have to have a comment directive forcing the VHDL version.
2021-12-09 19:44:38 +01:00
Greek
cffaafb284 Code refactoring 2021-11-20 16:01:57 +01:00
Greek
8f9f445f21 Add documentation 2021-11-17 14:27:30 +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
57128bcea3 Add KEY_HOLDER implementation for TYPE2 2021-11-05 17:45:16 +01:00
Greek
ee67fe9493 Minor declaration & documentation fixes 2021-11-03 20:07:14 +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
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
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
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
fa28997ec6 Fix Syntax in rtps_reader 2021-02-17 17:56:00 +01:00
Greek
a3a51e2f52 Various Fixes in RTPS Reader/Writer
Amongst other changes the RTPS Reader now supportes VOLATILE Durability
(Will only request most recent change from new matched Writers)
2021-02-14 19:58:09 +01:00
Greek
e8670aaf59 Blind implementation of RTPS Writer 2021-02-07 18:02:55 +01:00
Greek
d54bf55b46 Redo Memory Interface of RTPS Endpoint
The Memory Control Process is made more generic (with less specialised
code), to allow the main process more control. I.e. all Memory Frame
Fields are individually addressable (during GET and UPDATE).
The RAM instance is hidden behind a Memory Controller with Flow Control
Signals, allowing easy future integration to different Memory Interfaces
(e.g. AXI Lite).
2021-02-02 00:04:34 +01:00
Greek
164bd508c1 Blind implementation of READ/TAKE DDS READER operations
Finalized DDS Reader interface. Implemented read/take,
read_next_sample/take_next_sample, read_instance/take_instance,
read_next_instance/take_next_instance operations.
Instance Get operations were made generic to allow returning 2 variants
of instance data.
2021-01-25 20:04:55 +01:00
Greek
7e84a15d54 Redo Blind Implementation of READER side (RTPS Endpoint & History Cache)
Redefined Sample Memory Format. The design decision was made to handle
most (if not all) of the DDS QOS inside the History Cache, which allows
storing needed information in a more efiicient way.
A (dual port) Instance Memory was added into the HC, to support the QOS
operations.
This commit only implements the A side processes for the READER case.
RESOURCE_LIMITS_QOS, TIME_BASED_FILTER_QOS, and HISTORY_QOS are handled.
The inter-entity communication was changed to allow the HC to mark
parsed changes as rejected, and allow future re-transmission (in the
case of Reliable communication).
2021-01-17 10:49:38 +01:00
Greek
d0709db3a2 Blind implementation of READER rtps_endpoint 2021-01-11 12:18:59 +01:00
Greek
929fbe5c80 * Update rtps_builtin_endpoint_test7
- Add participant Announcement check
* bug Fix in rtps_config_package
	- Fix Participant Announcement Generation
2020-12-06 18:25:19 +01:00
Greek
0f50e66942 * Add FWFT FIFO
* Added rtps_builtin_endpoint_test7 Level 1 testbench
	- Compiling and Passing
* Various Bug Fixes in rtps_builtin_endpoint
2020-12-06 17:26:15 +01:00
Greek
32fd1ac31e * Add modelsim.ini File in gitignore
* Small change in rtps_builtin_endpoint_test1
	- Empty Signal was not toggling
* Added rtps_builtin_endpoint_test2
	- Compiling and Passing
* Update rtps_test_package
* Various bug Fixes in rtps_builtin_endpoint
2020-11-26 18:04:59 +01:00
Greek
521e2466f5 * Add new DEFAULT values in packages
* Add test RAM (Used for testbenches)
* Add Data Structures and functions to check memory contents
* Add rtps_builtin_endpoint_test1
	- Compiles and Passes
* Various bug fixes in rtps_builtin_endpoint to Pass testbench
2020-11-23 12:20:05 +01:00
Greek
9c95e58e32 * Added OSVVM Library as Submodule
* Merged stimulus generation procedures to one single procedure
* Integrated OSVVM into testbench
* Generated OSVVM Project Script File
* Various Bug Fixes to compile testbench
2020-11-15 20:34:39 +01:00
Greek
c68caec626 * Package update
- New functions
	- Renames
	- New Definitions
* rtps_handler overhaul
	- Validity Check for Submessages
	- OVERREAD Guard
	- Info Timestamp parsed and sent to Endpoints
2020-11-13 11:44:17 +01:00
Greek
9acd98b32e * Update .gitignore
* Split rtps_package
2020-11-02 14:39:27 +01:00
Greek
ce72c147a4 * Re-wrote "rtps_ahandler"
- Compiles
2020-10-29 11:31:41 +01:00
Greek
d61b9dc80a * rtps_builtin_endpoint compiles
* Single port RAM implementation for Altera
* Added Altera doc
2020-10-26 23:43:54 +01:00
Greek
63c8c8dccc * Restructure, cleaning and final documentation in builtin_endpoint 2020-10-25 23:32:24 +01:00
Greek
86a6d85be4 * rtps_package compiles 2020-10-24 22:51:50 +02:00
Greek
74515d0ecc * Code cleanup
* Varius fixes
* Code Comment
2020-10-24 17:00:52 +02:00
Greek
73dbc87c08 * Heartbeat sending
* Liveliness Assertion
* Participant Announcement
* Colapse all Header sending into single stage, remove RTPS header from pre-generated data
2020-10-22 15:00:35 +02:00
Greek
b5b71bbfa9 * Implemented Participant Message Handling 2020-10-21 19:41:23 +02:00
Greek
69da90be20 * Finished ACKNACK and HEARTBEAT handling 2020-10-21 17:04:08 +02:00
Greek
b79e631ac6 * tmp (Before Buffer reorder) 2020-10-21 12:38:51 +02:00
0ec0003eb3 * Fix ASCII Diagrams
* Constant RTPS Message generation (Endpoint and Participant)
2020-10-12 07:25:56 +02:00
bcdf8f0ed9 * Switch to single Domain ID 2020-10-07 13:12:04 +02:00
aed60f9b01 * Finish Memory FSM 2020-10-06 08:35:31 +02:00
e6e4094583 * Endoint Match/Unmatch 2020-10-04 08:25:35 +02:00
aaae545c8b * Partly implemented rtps_builtin_endpoint
* Modify rtps_handler
* Modify rtps_package
2020-09-22 21:04:29 +02:00
Greek
052a4054b9 * Added Documentation in RTPS 2020-05-24 18:28:57 +02:00
Greek
9ab7d79d87 * Added Documentation
- UDP Protocol
* Added Synthesis Report for IPv4 Parser with different buffer sizes
* Small fixes in IPv4 Handler
* Added addsub Entity
* Added Checksum entity
* Implemented RTPS Parser
	- Compiles in Modelsim
* Backup Version of RTPS Parser to extract and implement UDP Checksuming
* Updated RTPS Package
* Added VHDL comilation test file
2020-05-24 13:08:03 +02:00
Greek
b118482e63 * Added DDS/RTPS Documentation
* Added initial constant package
2020-05-10 19:31:49 +02:00