-
Notifications
You must be signed in to change notification settings - Fork 14.2k
Add namespace support for uxrce-dds client during firmware upload #25291
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
Conversation
This sets the namespace during build time though? I think it would be more useful to have this configurable as a parameter so that it doesn't require a rebuild of firmware |
Maybe we just need to resurrect this. I would use a unique param for namespace instead of the MAV_SYS_ID |
I can add both alternatives as options, parameter and from terminal. |
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.
@E-Krantz , have you considered manually starting the client via custom startup script loaded in the SD card (assuming your hardware has a microSD card)?
In that way you don't need a custom build.
I understand that approach has its own drawback too though.
That said, this is a nice addition, thank you!
@beniaminopozzan Thank you for the suggestion. I had not considered that. |
@dakejahl I just noticed the failing ci, do you know anything about it? I don't have access to a PC right now |
clang-tidy randomly fails, it's a known problem |
@beniaminopozzan @dakejahl shall we merge this one before we add the second option? |
Solved Problem
When working with PX4 firmware on hardware, I found it was not possible to set a custom namespace for the uxrce-dds client during firmware upload. This capability existed for SITL via the
PX4_UXRCE_DDS_NS
environment variable but was not available for hardware builds.Fixes: No GitHub issue ID
Solution
PX4_UXRCE_DDS_NS
environment variable—bringing behaviour in line with SITL.PX4_UXRCE_DDS_NS=vehicle_1 make px4_fmu-v6x_spacecraft
sets the namespace accordingly during firmware upload.
Note:
A
make clean
is required before building, to ensuredds_topics.h
is regenerated inbuild/px4_fmu-v6x_spacecraft/src/modules/uxrce_dds_client/dds_topics.h
.Changelog Entry
For release notes:
Alternatives
None.
Test Coverage
Documentation
If this PR is accepted, I am happy to update the documentation to reflect the new firmware capability, which currently only describes namespace customisation for SITL.
Context