Skip to content
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

Add component information client and server #1660

Merged
merged 49 commits into from
Mar 7, 2022

Conversation

julianoes
Copy link
Collaborator

Depends on mavlink/MAVSDK-Proto#270.

Probably best reviewed commit by commit.

JonasVautherin
JonasVautherin previously approved these changes Jan 3, 2022
Copy link
Collaborator

@JonasVautherin JonasVautherin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

@julianoes julianoes force-pushed the pr-component-information-server branch 2 times, most recently from f0e481a to 31c5fcb Compare January 4, 2022 08:03
JonasVautherin
JonasVautherin previously approved these changes Jan 4, 2022
@julianoes julianoes force-pushed the pr-component-information-server branch 2 times, most recently from 121dbab to 1199346 Compare January 5, 2022 07:24
JonasVautherin
JonasVautherin previously approved these changes Jan 6, 2022
@julianoes julianoes marked this pull request as draft January 7, 2022 06:35
Copy link
Contributor

@dayjaby dayjaby left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good so far!

src/mavsdk/core/mavlink_request_message_handler.cpp Outdated Show resolved Hide resolved
src/mavsdk/core/mavlink_request_message_handler.h Outdated Show resolved Hide resolved
@julianoes julianoes force-pushed the pr-component-information-server branch 2 times, most recently from ca6f366 to a71e779 Compare February 11, 2022 15:21
JonasVautherin
JonasVautherin previously approved these changes Feb 14, 2022
@julianoes julianoes force-pushed the pr-component-information-server branch from 77b1081 to 4b76fb1 Compare February 18, 2022 15:52
@julianoes julianoes force-pushed the pr-component-information-server branch 2 times, most recently from dd99a8a to eddbd5e Compare March 3, 2022 00:03
@julianoes julianoes changed the title Add component information server Add component information Mar 4, 2022
@julianoes julianoes changed the title Add component information Add component information client and server Mar 4, 2022
This allows us to re-use it.
This was straight forward and long overdue.
And use it in ping as well as offboard plugin.
That way we can re-use it in the component information server plugin.
I don't think it is really possible to use the REQUEST_MESSAGE command
without a target_component set. If we were to send out REQUEST_MESSAGE
with target_component set to 0 (broadcast) it would open up a race
between various components that do support it or don't support it. All
of these would respond and it would be tricky to know how to handle all
the acks.

Therefore, I decided to send out these REQUEST_MESSAGE commands with a
target instead. This means that in component_information we will
ultimately have to go through all connected components one by one to
figure out what is there.
Every 1% is enough, otherwise we just clog everything with callbacks.
This is a first step to enable downloading the component_information
xml files end to end.
This is required for GCC 7 compatibility.
@julianoes julianoes force-pushed the pr-component-information-server branch from 1f2a222 to ab2930b Compare March 4, 2022 02:15
@julianoes julianoes marked this pull request as ready for review March 4, 2022 02:16
@julianoes julianoes force-pushed the pr-component-information-server branch from abad2f4 to 085815b Compare March 6, 2022 22:15
@julianoes julianoes force-pushed the pr-component-information-server branch from 085815b to 90e4558 Compare March 6, 2022 22:28
@julianoes
Copy link
Collaborator Author

julianoes commented Mar 7, 2022

I think this is somewhat contained and should not be interfering with the rest too much, so I'm merging it as in its current prototype state. I'm not sure why CI takes so long and times out. 🤷‍♂️

@julianoes julianoes merged commit 66b7b2e into main Mar 7, 2022
@julianoes julianoes deleted the pr-component-information-server branch March 7, 2022 05:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants