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

API changes: UID, discovery callbacks #694

Draft
wants to merge 3 commits into
base: develop
from

Conversation

Projects
None yet
3 participants
@julianoes
Copy link
Collaborator

commented Mar 12, 2019

This is work in progress to get some feedback and start a discussion on how the API to get systems and be notified about connected systems and components should look like.

@gamoreno

This comment has been minimized.

Copy link
Contributor

commented Mar 26, 2019

It looks fine, however it forces one to use callbacks for any case with more than one system. In my case, I wait for two drones to connect before anything else, so I do something like:
while (dc.system_uuids().size() < 2) {
cout << "Waiting for drones to connect" << endl;
this_thread::sleep_for(chrono::seconds(1));
}
With the proposed API, I'd be forced to use callbacks. However, that's ok. It's not that much problem.

What I think is a must is to add the method System::uint8_t get_sysid() const. Using the current UUIDs is a pain for me, so I'm glad they're being removed. However, I need to be able to identify the drones, which have been assigned different SYSIDs. I have to be able to tell which one is which.

Thanks

@@ -10,7 +10,7 @@ else()
# We are not using exceptions to make it easier to write wrappers.
add_definitions(-fno-exceptions)

set(warnings "-Wall -Wextra -Werror -Wshadow -Wno-strict-aliasing -Wold-style-cast -Wdouble-promotion -Wformat=2 -Weffc++")
set(warnings "-Wall -Wextra -Wshadow -Wno-strict-aliasing -Wold-style-cast -Wdouble-promotion -Wformat=2 -Weffc++")

This comment has been minimized.

Copy link
@JonasVautherin

JonasVautherin Mar 26, 2019

Collaborator

Is that removing -Werror on purpose?

This comment has been minimized.

Copy link
@julianoes

julianoes Mar 27, 2019

Author Collaborator

No, thx.

@julianoes

This comment has been minimized.

Copy link
Collaborator Author

commented Mar 27, 2019

@gamoreno thanks for the comment. You're right we need sync APIs without callbacks as well. I'll add them.

julianoes added some commits Mar 11, 2019

core: mark UUID methods as deprecated
There are two reasons for these deprecations:
1. We should not have called it UUID because it's not an actual UUID as
   standardized but just a UID.
2. In MAVLink we had to extend the UID of length 8 bytes to one of 18
   bytes to avoid collisions.
WIP

@julianoes julianoes force-pushed the change-discovery branch from cbf237b to 5129e81 Apr 5, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.