Demo similar to multithread_publisher_subscriber from rclc but in Zephyr. Multithreading not working as espected.
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 30/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- c
- Domain
- embedded-iot, operating-systems
Research direction
Start with the Zephyr tutorial and the referenced Micro-ROS and Zephyr application, then compare its two-thread publisher setup with the rclc multithread_publisher_subscriber demo. Reproduce the behavior on the Olimex STM32-E407 and determine whether independent thread publishing and running multiple apps are supported; document the confirmed behavior and required changes or limitations.
Written by the indexing model from the issue text.
Description
Issue template
- Hardware description: Olimex STM32-E407
- RTOS: Zephyr
- Installation type: -
- Version or commit hash: -
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?
- Dominant language
- C
- Stars
- 101
- Forks
- 35
- Avg merge
- 4d 16h
- Merged PRs (30d)
- 3
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from micro-ROS/micro-ROS-demos
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
micro-ROS/micro-ROS-demos#97 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
micro-ROS/micro-ROS-demos#81 · 11 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 30/100
micro-ROS/micro-ROS-demos#79 · 5 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
micro-ROS/micro-ROS-demos#74 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
micro-ROS/micro-ROS-demos#64 ·
All issues in micro-ROS/micro-ROS-demos
Similar issues
-
level/task module/gcp type/bug
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
Difficulty 1/5 Under an hour Newbie friendliness 86/100
hapostgres/pg_auto_failover#1190 ·
-
docs
Difficulty 1/5 Under an hour Newbie friendliness 85/100
-
P3 sonic-vpp
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
sonic-net/sonic-buildimage#29662 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 94/100
spack/spack-packages#6586 ·