All the necessary "glue" logic to convert ROS Data to a form that the
DDS/RTPS back-end can use is implemented in packages.
The ROS Node discovery information is statically generated in packages
(similar to the RTPS Participant Data), and a special dds writer is
implemented (ros_static_discovery_writer) that has this static data as
its only payload sample.
Some definitions are moved out of rtps_config_package to prevent
circular package dependency.
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.
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.
Test Sample Rejected Status Handling.
Test GET_SAMPLE_REJECTED_STATUS DDS Operation.
Extend Sample Rejected Status Kind by REJECTED_BY_PAYLOAD_MEMORY_LIMIT
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).
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.
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).
* 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
* 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
* Merged stimulus generation procedures to one single procedure
* Integrated OSVVM into testbench
* Generated OSVVM Project Script File
* Various Bug Fixes to compile testbench
- New functions
- Renames
- New Definitions
* rtps_handler overhaul
- Validity Check for Submessages
- OVERREAD Guard
- Info Timestamp parsed and sent to Endpoints