-
Notifications
You must be signed in to change notification settings - Fork 93
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
This commit updates the core.proto to include enhancements to the Cor… #348
Open
NourElMenshawy
wants to merge
1
commit into
mavlink:main
Choose a base branch
from
NourElMenshawy:main
base: main
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
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 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.
The issue is that with the current grpc API we only have access to the one system, which is the first autopilot. So having a list of all systems would be information that can't be used.
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.
Hey Julian,
In my Discord comment, I mentioned that I had one system from which I could list all components since my feature only needs one system. However, in my merge request, I extended it to include listing all systems because I'm preparing to share a draft with you on how to select systems over gRPC. But of course, if it's more convenient for you to wait for the bigger MR draft, then feel free to ignore this one.
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.
Got it, thanks! I will have to think about this a bit more in the coming weeks, and talk to @JonasVautherin to figure out how we want to roll this out to the language wrappers.
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.
Maybe it would be a good idea if @NourElMenshawy described the idea somewhere (maybe in an issue). Whatever is done has to be compatible with the language wrappers (that's the whole point of the gRPC layer, after all 😇).
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.
Hello @JonasVautherin
The purpose of this MR is to retrieve all components from the MAVSDK server over gRPC. I developed a Dart application that reads parameters from the drone via an LTE server. In this setup, the LTE server communicates with MAVLink, and my custom MAVSDK server includes the gRPC method for getting all components. My Dart application reads and writes parameters to the drone. Being able to select components allows my application to set and read the parameters of those components.
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.
Sure, but listing MAVLink systems is not the same as being able to talk to different systems. Say in Python you do
system.action.arm()
, how do you deal with two systems?My personal opinion tends to be that you can demultiplex the MAVLink stream and run multiple instances of MAVSDK. So if some messages come from sysid 12 and some from sysid 13, you can have your demultiplexer send sysid 12 to some local port (and bind the first MAVSDK instance to it) and have it send sysid 13 to some other local port (and bind the second MAVSDK instance to it).
I have done something similar in the past (where my demultiplexer was discriminating based on IP and not based on sysid) and it worked well.
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.
Hello @JonasVautherin
I do read my comments and I think I didn't clearly convey my point, so I'll try again:
As you can see in the following MR commit , the system loop will always run once, so I don't anticipate any problems for now. However, I can change this implementation to something like: