Skip to content

[Q] Is it expected that the McuConfigure Hangs & Takes Effect on Reboot? #61

Closed
@SteveMacenski

Description

@SteveMacenski

I'm removing the namespacing from my robot system so I can have a single repository and capability that generalizes to all robots in the fleet. This has turned into quite the challenge, but I'm broadly done with it except something worth digging into.

This is where the namespace for the MCU ROS 2 code

        self.configure_mcu = LaunchFile.Process(
            name='configure_mcu',
            cmd=[
                ['export ROS_DOMAIN_ID=0;'],
                [LaunchFile.Variable("FindExecutable(name='ros2')"),
                 ' service call platform/mcu/configure',
                 ' clearpath_platform_msgs/srv/ConfigureMcu',
                 ' \"{{domain_id: {0},'.format(self.clearpath_config.system.domain_id),
                 ' robot_namespace: \\\'{0}\\\'}}\"'.format(self.namespace)]
            ]
        )

When I try calling this, no matter the contents, it hangs indefinitely and never gives a result. I was about to email you guys about how to make this work but before I did I tried rebooting and that made it take effect.

So, my question is: is it expect behavior that this doesn't work and hangs forever without a response to the service call - then takes effect on the next reboot? Some logging or notification about that would be wonderful. I don't even mind the reboot, that makes sense to me, but the lack of a response + hanging makes me think the MCU didn't get the service call at all.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions