Closed metanav closed 2 years ago
You need to increase the topic name length with "-DRMW_UXRCE_TOPIC_NAME_MAX_LENGTH=100"
.
Default value is 60, but actions servers use extended names for their services, for example:
root@mydevice:/home/microros_ws# ros2 service list --include-hidden-services
/namespace/follow_joint_trajectory/_action/cancel_goal
/namespace/follow_joint_trajectory/_action/get_result
/namespace/follow_joint_trajectory/_action/send_goal
Extra characters are added on micro-ROS layer to handle ROS2 Topic and Service name mapping to DDS, that is why you are just at the limit with 30 characters.
Closing as this should solve the issue, reopen if needed.
Steps to reproduce the issue
I am using the action server example below. The action server starts up and connects successfully to the microROS agent with the action name length equals or below 30 characters but fails to start for longer action names.
Note: See the rclc_action_server_init_default function call in the setup().
Action Server Code Snippet:
Expected behavior
The action server should be running despite of the action name length that should be limited only by the MAX_SIZE (I am not sure the size but the addtwoints service example works with long name for example 50 chars)
When the action name length is below 30 characters it works. MicroROS Agent log:
Actual behavior
The server failed to start when action name length is longer than 30 characters.
EDIT: The rclc_action_server_init_default function returns error code = 1.
MicroROS Agent log:
Additional information
I am using a precompiled library with the modified colcon_verylowmem.meta.