micro-ROS / micro-ROS-Agent

ROS 2 package using Micro XRCE-DDS Agent.
Apache License 2.0
101 stars 58 forks source link

Agent run stopped after set_verbose_level #187

Closed kislevro closed 1 year ago

kislevro commented 1 year ago

Issue template

Steps to reproduce the issue

  1. Created custom micro-ros static library and custom transport
  2. Run basic int32 publisher on the MicroBlaze (adapted) - The rclc_support_init returned RCL_RET_ERROR therefore I tried to run the agent along the client.
  3. Created and build the agent
  4. Found the connection name is /dev/serial/by-id/usb-Xilinx_JTAG+Serial_1234-oj1-if01-port0 by ls /dev/serial/by-id/*
  5. run the agent by ros2 run micro_ros_agent micro_ros_agent serial --dev /dev/serial/by-id/usb-Xilinx_JTAG+Serial_1234-oj1-if01-port0 -v 6 (also tried with /dev/ttyUSB1)

Relevant issues I tried their solution

  1. https://github.com/micro-ROS/micro_ros_setup/issues/586
  2. https://github.com/micro-ROS/micro-ROS-Agent/issues/123
  3. https://github.com/micro-ROS/micro-ROS-Agent/issues/155

Expected behavior

micro-ros node starts publish properly and its topics are visible, in addition in the terminal running the agent I expected the agent to create client, participant and the session to established.

Actual behavior

The micro-ros agent suck after set_verbose_level. Attached log -

[1680607217.919757] info     | TermiosAgentLinux.cpp | init                     | running...             | fd: 3
[1680607217.919913] info     | Root.cpp           | set_verbose_level        | logger setup           | verbose_level: 6

Where the problem could be?

Additional information

  1. I saw the node published continually with putty (with error due support init)
  2. I'm using custom static library with colcon.meta (The basic one with DUCDR_PIC=OFF in microcdr) and basic toolchain fits to my platform.
  3. I'm using basic custom transport
  4. Looks someone succeed created this client publisher with the same read+write functions I used in my custom transport - https://github.com/micro-ROS/micro-ROS-Agent/issues/102
Acuadros95 commented 1 year ago

Where the problem could be?

The Agent is not getting data or is not getting the correct data, some things to check:

kislevro commented 1 year ago

As this is a serial transport, check that framing is enabled with MICROROS_TRANSPORTS_FRAMING_MODE on your rmw_uros_set_custom_transport method, check this tutorial for more details: Custom Transports.

It worked for me, Thank you!