micro-ROS / micro-ROS-demos

Sample code using rclc and rclcpp implementations.
Apache License 2.0
84 stars 24 forks source link

Demo similar to multithread_publisher_subscriber from rclc but in Zephyr. Multithreading not working as espected. #83

Open Johannes-42 opened 7 months ago

Johannes-42 commented 7 months ago

Issue template

Steps to reproduce the issue

Install Micro-Ros like in the Tutorial: Tutorial Micro-ROS and Zephyr

Then add this App from this Repository: Micro-ROS and Zephyr If that is run It will publish 2 numbers from 2 threads. The main thread and the second created thread. But if the publisher in the main thread is commented out. Also, the second thread will not publish anymore. Is that wanted behavior or am I doing something wrong?

Expected behavior

Multithreaded Threads can publish their publishers

Actual behavior

Multithreaded Threads only publish if the main thread is publishing.

Additional information

I also tried it with a timer, then the second thread will publish only if the timer is used and in the same time interval.

I want to use Micro-ROS multithreaded to give some threads a higher priority than others. One more question to that would be if it is possible to start multiple apps in Zephyr? something like: ros2 run micro_ros_setup configure_firmware.sh ping_pong ping_pong2 --transport serial-usb This command would not work but is there a way to run 2 apps?