-
Notifications
You must be signed in to change notification settings - Fork 95
Add RPI Pico SDK mutex and locking to multithread #345
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
Open
DwayneGit
wants to merge
8
commits into
eProsima:ros2
Choose a base branch
from
DwayneGit:ros2
base: ros2
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
bdaddba
Release v2.1.0
pablogs9 27b810a
Add Twitter and Readthedocs shields (#307) (#308)
mergify[bot] 2195d43
Release v2.1.1
pablogs9 6f4edd2
Release v2.2.0
pablogs9 fda7242
Release v2.2.1
pablogs9 4b98d2d
Release v2.3.0
pablogs9 a0fd359
add pico sdk multi thread capability
DwayneGit 8e44612
Merge remote-tracking branch 'eProsima/ros2' into ros2
DwayneGit File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where is
PLATFORM_NAME_RPIPICO
defined?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I gathered from here #233 that
PLATFORM_NAME_FREERTOS
was defined by the user so followed the same logic. I stuckadd_compile_definitions(PLATFORM_NAME_RPIPICO)
at the bottom of the toolchain.cmake file and it works however the its not detecting the "pico/mutex.h" so I am working on linking that.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You will need to add the include folders of Pico SDK on the CMake toolchain.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I am working on that. The problem is the sdk has all of its include directories scattered and one file is "version.h" is auto-generated and stored in the build folder. I gathered most of what i think is important and trying to compile now but running into some errors that i don't understand like:
If I comment that line out it works but I'm looking for a better solution than that
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like the problem is the code is being compiled with -std=c99 somewhere but the pico sdk needs c11 to compile with the static_assert function. I cloned the sdk repository branch and patched that and am able to build just fine.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually adding
"-DUCLIENT_C_STANDARD=11"
to the colcon.meta solved this problem for the microxrcedds_client but i get the same error in rmw_microxrcedds where it looks like the C_STANDARD is hard coded to 99. If this CMakeList file could change that static 99 to an argument with a default of 99 like UCLIENT_C_STANDARD here i think this would not be a problem.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, we will merge this asap