-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UART serial stall #942
Comments
Does it works if instead of having a timer, you publish in a loop with delay inside main? |
same result really, the longer delay, the more spins before stalling. For example, a second delay might reach 1200 spins, while 100 ms delay could reach 80. |
If instead of having one call to while(1) {
your_delay_func(100);
rclc_executor_spin_some(&executor, RCL_MS_TO_NS(100));
} does it change anything? |
I changed to |
Is there any possibility of your transport allocating memory somehow? Could you implement some custom allocators and check if something is continuously allocating memory? I'm wondering if this is a stack override or some kind of heap smash |
I have not gotten to read up on custom allocators yet. One thing I notice though, is that when I run the agent in debug mode
and just test a custom service call
the Pico transmits debug messages to the agent with a frequency of ~10Hz, and does not stop. It is only when I publish something, for example
that the Pico stalls. I don't know if this is relevant, just an observation. |
Please paste the output of the agent in the situation you mention |
sure, here is a snippet:
|
This turned out to be a non-issue, it's just a matter of enabling UART in
Possible clarification, for future users, in #955 |
@pablogs9 with reference to #937, could you please test my UART serial publisher example at
https://github.com/torlarse/micro_ros_raspberrypi_pico_sdk/blob/humble-uart-vscode/examples/uart/publisher/publisher.c
With the current timeout setting, it spins around 2-500 times, then stall.
My setup is Pico with Debug Probe, free running a DEBUG build, but not in a debug session. For UART testing, I suppose connecting two Picos would render the same result.
The text was updated successfully, but these errors were encountered: