How to get MicroROS thread support for Zephyr

Open
#685 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
cmake

Research direction

Start with the Zephyr tutorial setup, then inspect eProsima/Micro-XRCE-DDS-Client/include/uxr/client/profile/multithread/multithread.h at the failing struct k_mutex declaration. Compare the Zephyr setup with the related freeRTOS issue and inspect arm_toolchain.cmake.in for the directories that need inclusion. Done means the multithread profile builds successfully for the Olimex STM32-E407 configuration.

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

Set up MicroROS like in the Tutorial: https://micro.ros.org/docs/tutorials/core/first_application_rtos/zephyr/
Then add:
"microxrcedds_client": {
"cmake-args": [
"-DUCLIENT_PROFILE_MULTITHREAD=ON"
]
}
to the app-colcon.meta file.

Expected behavior

Enable multithreading.

Actual behavior

zephyr/microros_ws/firmware/mcu_ws/eProsima/Micro-XRCE-DDS-Client/include/uxr/client/profile/multithread/multithread.h:49:20: error: field 'impl' has incomplete type
49 | struct k_mutex impl;

Additional information

Same as https://github.com/micro-ROS/micro_ros_setup/issues/668 but for Zephyr and not freeRTOS
Which directories do I need to include? (I guess in the arm_toolchain.cmake.in)

Dominant language
Shell
Stars
509
Forks
183
Avg merge
22h 26m
Merged PRs (30d)
7

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from micro-ROS/micro_ros_setup

All issues in micro-ROS/micro_ros_setup

Similar issues

More Shell/Bash issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.