Commit Graph

267 Commits

Author SHA1 Message Date
d2c0b37c27 Change latching behaviour of "last_word_in" latches
During testing a scenario arose, where a toggling in the last_word
signal lane while the rest of the signals were not valid was falsely
latched.
All entities with "last_word_in" latches were modifies to only latch
the signal when in valid state.
2023-06-22 08:18:23 +02:00
35baf341c7 Bug Fix: DDS Reader and Writer Interfaces had no signal passthrough for non-Type dependent Operations
The ready/valid Signals were missing from the DDS Reader and Writer Interfaces,
preventing the user from effectively using non-Type dependent operations
(like GET_OFFERED_DEADLINE_MISSED_STATUS).
The L1_Type1_test1 was extended to test for this non-type dependent operation.
2023-06-17 13:32:58 +02:00
d2d40c1326 Bug Fix: Key_Holder was not resetting the decode_error signal
Fixed Updated Template-, Type1-, and Type2-key_holder to reset the
decode_error signal when a new PUSH_* operation is initiated.
Testbenches are extended to test foe decode_error and its reset.
2023-06-17 10:48:16 +02:00
3f2e4e82d1 Fix Bug in TEMPLATE_ros_action_server, that could lead to deadlocks.
The server could at any time reset and sever the connection of the user to the
result memory, that could lead to the user indefenitely waiting for a droped
memory read request.
The server now only sever the connection when the result memory has no pending
requests.
L1_Fibanacci_ros_ation_server_test1 and L1_Fibanacci_ros_ation_server_test2
are exetnded to test the fix.
2023-06-17 10:48:16 +02:00
839170c5ad Fix Bug in TEMPLATE_ros_action_client where sequence_id & request_id output signals are only valid for one clock cycle. 2023-06-17 10:48:16 +02:00
c577d4f671 Update IDL-VHDL Generation: Make length of nested collections available for WRITER Interface
In case of nested collections in a WRITER Interface, the length of the
collection is latched into memories, but the output is not made available
to the user. Since the signal is lacthed either way, making the stored
value also available to the user gives more flexibility to the user.
2023-06-17 10:48:16 +02:00
d537cd7460 Documentation Refactoring (Fix Typos) 2023-06-17 10:48:16 +02:00
ca80910494 Documentation & Code Refactoring 2023-06-17 10:48:11 +02:00
5f58b0bca4 Fix testbench for Linux OS (Linux is case Sensitive) 2023-06-16 14:02:44 +02:00
6e93248b52 Update READ.txt 2022-11-30 17:43:15 +01:00
0a7c7f6a8b Add Docs, updated TODO 2022-05-16 19:04:50 +02:00
6fe7e426ca Add ROS Action TEMPLATES and generation recipes
The existing Fibonacci implementation was slightly modified to adhere to
the recipes and be more in line with existing code generation.
2022-04-27 12:37:02 +02:00
e7ca8c581e Fix Bug in Fibonacci,where indices were not reset for next goals 2022-04-18 23:02:52 +02:00
9a3dab9a4e Fixed bug when dds_reader is generating a sample on empty sample memory
Extended testbench to also test this case.
2022-04-18 17:50:55 +02:00
a92bd9ece1 BUG FIX: ros_action_server was not using latched values 2022-04-17 13:49:15 +02:00
1e8b5464b8 BUG FIX: Incorrect transition in Fibanacci_ros_action_server on unknown goal result response 2022-04-17 13:46:47 +02:00
1efeeef279 CYCLONE DDS COMPATIBILITY: Add start delay in ROS action Server
Even with the previous commits, there still exist race conditions in
which if the Cyclone DDS implementation receives the initial HEARTBEAT
after the message has been sent, it is silently dropped (Volatile behaviour).
And since the Cyclone DDS implementation is ignoring HEARTBEATs of
yet unmatched endpoints (which is what happens to our init HEARTBEAT),
the best way to counter this is to just wait after the reception of the
first Cyclone DDS message (which signifies that it has matched all our
endpoints) until the HEARTBEAT timeout has also sent the respective
initial HEARTBEATs.
2022-04-16 20:01:37 +02:00
6bfcc241c2 Revert CycloneDDS compatibility change
Since we now send a HEARTBEAT on remote endpoint match, we can use the
PUSH_MODE without fear of "losing" messages with Cyclone DDS.
2022-04-16 13:51:31 +02:00
1ed234e85c rtps_writer: Send HEARTBEAT immediately on remote endpoint match 2022-04-16 13:02:28 +02:00
544717a9aa BUG FIX: Fix typename of cancel_goalReply Topic 2022-04-15 16:35:35 +02:00
6724156e72 TIMING CLOSURE: Split main FSM in dds_reader
The sequential logic of the main FSM in dds_reader was just to big to
pass the timing requirement of 50 MHz.
All the DDS READ/TAKE relevant states were removed from the main FSM,
and added to a seperate read FSM. This reduces the state numberes and
state tarnsition logic of the main FSM, allowing it to pass the timing
requirements.
2022-04-14 14:27:09 +02:00
d388e29c36 Convert dds_reader to Vector Endpoint 2022-04-10 11:04:59 +02:00
bc745fdcd9 BUG FIX: Instance memory process of dds_reader was writing to wrong address 2022-04-10 11:04:16 +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
74af242bcc code refactoring 2022-04-05 17:20:32 +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
979ec2423f Add vector_FIFO 2022-03-20 11:49:41 +01:00
ad03ae6ecd Remove RTPS_OUT_DATA_TYPE and modify rtps_out with generic 2022-03-20 11:49:41 +01:00
ab20cad4d6 code refactoring 2022-03-20 11:49:31 +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
70f9a08802 Add/Modify synthesis entities to synthesize Fibonacci_ros_action_server
NOTE: Synthesized design does not fit
2022-03-13 12:43:12 +01:00
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