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

Delays with many connections on one radio #118

Closed
krichardsson opened this issue May 20, 2019 · 1 comment
Closed

Delays with many connections on one radio #118

krichardsson opened this issue May 20, 2019 · 1 comment

Comments

@krichardsson
Copy link
Contributor

In the ICRA demo we experience latency in out going packets when connecting more than 5 Crazyflies to one Crazyradio. When adding a second radio and moving 4 of the copter to it, the latency disappeared.

The new radio used the same frequency (not recommended) so the number of useful packets in the air was probably reduced due to collisions, but performance was still better. The prime suspect for this problem is threading in python but more investigations are required.

ataffanel added a commit that referenced this issue Sep 30, 2020
This commit implements a queue based radio sharing instead of the
previously implemented mutex-based sharing of the radio.

This should guarantee that the radio is shared fairly
between connections using the same radio. Mutex could not offer this
guarantee since Mutex implementation in python uses the underlying
OS implementation that does not nececarly guarantee that the thread
waiting are unlocked in order.
@ataffanel
Copy link
Member

The commit 1a5de7f should solve this issue. It has currently only been tested on connecting the 9 Crazyflies of the ICRA demo, not during operation. When connecting, it does seem to treat all connection fairly and all Crazyflies gets connected at the same time even if the full TOCs had to be fetched (it takes a lot of time to connect but it connects)

Lets close this ticket if we manage to run the demo with a single Crazyradio.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants