Closed KohlhardtC closed 3 years ago
Try the same using UDP and let us know if it works.
rclc_support_init() also hangs in a UDP NativeEthernet transport implementation that is very similar to the WiFi transport code.
UDP agent startup command:
ros2 run micro_ros_agent micro_ros_agent udp4 -p 8080 -v 6
UDP agent output:
I've checked both the UDP and TCP implementations in to my fork
Thank you for the helpful suggestion Pablo. The good news is that the UDP implementation now appears to be working thanks to your solution (I will do more testing before submitting a pull request).
Unfortunately I'm still seeing the same issue where rclc_support_init() does not return when the TCP implementation is used. Do you have any suggestions for how to debug what is happening inside rclc_support_init()? Is it possible that there is an issue with the TCP version of the agent that is causing this issue?
My latest work has been pushed to my fork.
TCP is not going to work because it is not supported in micro-ROS. Do you have a special interest in having this working over TCP?
I added code for a TCP transport because the Agent purports to support TCP and of course TCP is designed to be more reliable. Regardless, I don't believe I have a special requirement for TCP and I will forge ahead with the UDP implementation. I'll submit a pull request after I conduct some real world testing. Thanks for implementing micro-ros!
Issue template
Steps to reproduce the issue
I am trying to implement a NativeEthernet transport over TCP for the Teensy 4.1 board using the WIFI transport as my starting point.
Agent Launch Command:
ros2 run micro_ros_agent micro_ros_agent tcp4 -p 8080 -v 6
Teensy Code full code attached to this issue as .gz, but I'm including inline what I believe are the key parts:
examples/micro-ros_publisher_native_ethernet/micro-ros_publisher_native_ethernet.ino
src/micro_ros_arduino.h
Expected behavior
Example code should execute cleanly and enter the main loop
Actual behavior
rclc_support_init() hangs preventing main loop from executing
Output on Serial Monitor from Teensy:
Output from agent:
Additional information
I would like to keep debugging this, but I'm not sure how best to approach that at this point and would appreciate any/all suggestions.
native_ethernet.tar.gz