Commit Graph

231 Commits

Author SHA1 Message Date
fba065e59e BUG FIX: Remove inferred Latches 2022-03-13 12:43:12 +01:00
e7ed1eab28 BUG FIX: Change Fibonacci_ros_action_server memory operation guard 2022-03-13 12:43:12 +01:00
27e5b808b0 BUG FIX: Fix instance_handle Port Directions of Writer interfaces 2022-03-13 12:43:12 +01:00
e38c1dcf55 Add Level 2 ROS Action Test (Fibonacci) 2022-03-13 12:43:04 +01:00
90a8aaad19 Add RTPS to ROS time converter 2022-03-09 15:37:10 +01:00
7c423467bc Add multipier implementation 2022-03-09 15:36:32 +01:00
7292cedeb5 Add ROS Action glue logic 2022-03-08 14:03:39 +01:00
bd1f803906 Modify rtps_discovery_module to send a PARTICIPANT Announcement immediately on startup 2022-03-08 14:03:33 +01:00
5f01a94b31 Code refactoring 2022-03-08 13:12:18 +01:00
e4e702ebc4 Add GEN_FIRST_GOAL and GET_NEXT_GOAL opcodes to ROS action server
The functionality was already there, so we just extended the opcodes to
allow the user to also make use of them.
2022-03-08 13:12:11 +01:00
a064a44dc4 Add Fibonacci ROS Action Implementation
A complete ROS action server and client implementation of the
example_interfaces Fibonacci action is done, along with accompaning
testbenches.
2022-03-05 11:47:58 +01:00
b86ef8ec53 Add request ID comparisons to ROS Service Level 1 Tests 2022-03-05 02:19:24 +01:00
6bbb5fc102 Add ROS Action Server implementation 2022-03-04 23:48:51 +01:00
f759f0d201 Code refactoring 2022-03-02 11:00:37 +01:00
cf3daa12b0 Define record for sample_info of DDS Reader 2022-02-19 11:58:40 +01:00
f29df9b41c Add Fibonacci Action Result Service 2022-02-05 15:23:54 +01:00
c6c19299b5 Add Fibonacci Action Goal Service 2022-02-05 15:20:40 +01:00
f9cb1a8d0e Change Testbench String to reflect file names 2022-02-05 13:35:33 +01:00
f1cc87c25f Add ROS CancelGoal Service 2022-02-05 13:35:32 +01:00
c9d4b55d4a Change decoding convention
In muti-word decoding do not call the "FETCH" stage in the
last-to-second sub-stage.
2022-02-05 13:35:20 +01:00
158ab05a4d Add Little Endian tests for Fibonacci_ros_action_feedback and GoalStatusArray_ros 2022-02-04 20:31:49 +01:00
f137e8b06b Add "ros" identifier to ROS files 2022-02-04 18:37:02 +01:00
1e1a896613 Add ROS Publisher/Subscriber Templates 2022-02-03 17:06:01 +01:00
0a84093edd Add GoalStatusArray ROS Publisher/Subscriber 2022-02-03 16:07:38 +01:00
4784ee02ff Change UUID encoding/decoding
For efficiency purposes no memory is generated for the UUID
2022-02-03 16:04:38 +01:00
ba58d1a8ba Add ROS UUID definition 2022-02-03 15:13:42 +01:00
b7fd9bfcfe BUG FIX: Decoder may not read last byte of payload
The SKIP_PAYLOAD stage of decoders would not read the last word
(last_word_in = '1').
The <NAME>_MEMBER_END stage was removed from encoders/decoders, since it
could happen that the last aggregated member of a last collection entry
could also be the last type member overall, which would miss toggling
the "last_word_out" correctly. The logic was instead put inside the last
member stage (instead of defining a separate MEMEBR_END stage).
2022-02-03 15:05:10 +01:00
a26faff89a Move functions between rtps_package and rtps_config_package 2022-02-03 14:35:54 +01:00
dc47f72942 Add Fibonacci Action Feedback Topic 2022-02-01 15:26:58 +01:00
45556ab136 Add ROS Action Documentation/References 2022-02-01 14:58:03 +01:00
84220120e5 Add Bound checks in Decoder stage 2022-02-01 14:58:02 +01:00
Greek
98e50e89a9 Add ROS Service Server/Client TEMPLATE 2022-02-01 14:58:02 +01:00
Greek
80eb517eda CYCLONE DDS COMPATIBILITY: Disable PUSH_MODE
It seems that Cyclone DDS discards a DATA message before it has received
a HEARTBEAT, but still ACKs it in the ACKNACKs.
2022-02-01 14:58:02 +01:00
Greek
fcbb6f12f5 BUG FIX: Livelock in rtps_writer when PUSH_MODE=FALSE & DURABILITY=TRANSIENT_LOCAL
A Flag was not reset in a sub-branch that is taken when PUSH_MODE=FALSE
& DURABILITY=TRANSIENT_LOCAL, that prevented the RTPS writer from ever
sending HEARTBEATs.
2022-02-01 14:58:02 +01:00
Greek
a2e00cf0f5 BUG FIX: Service uses 2 seperate Typenames for Request/response 2022-02-01 14:58:02 +01:00
Greek
854b62a379 Add CLOCK_PERIOD to ros_config 2022-02-01 14:58:01 +01:00
Greek
0396097f05 BUG FIX: Subscriber and Publisher ACKNACK destinations were flipped 2022-02-01 14:57:50 +01:00
Greek
6524ad6c0d Make ROS Service Topic Generation compatible with Cyclone DDS
Cyclone DDS appends "Reply" (instead of "Response") to the Response
Message Topic.
2022-01-29 11:12:32 +01:00
Greek
39b7e6960a Fix bug in ROS discovery data generation
The Payload Encapsulation was wrongly set to PL_CDR_BE
2022-01-29 11:12:32 +01:00
Greek
f63fccdcc1 Add/Modify synthesis entities to synthesize AddTwoInts_srv_server 2022-01-29 11:12:32 +01:00
Greek
5894fd9121 Add Level 2 ROS Service Test (AddTwoInts) 2022-01-29 11:12:31 +01:00
Greek
b5741dc9ae Implement ROS glue logic & ROS discovery data
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.
2022-01-29 11:12:22 +01:00
Greek
2d3c5cf896 Add MAX_PAYLOAD_SIZE to Endpoint Config Record 2022-01-25 17:58:14 +01:00
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
a99b8f13c8 Code Refactoring 2022-01-24 17:52:58 +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
da5eb1ad07 Add IDL definitions for ROS2 MSG and SRV 2022-01-07 13:06:18 +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
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