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

Broadcasts repeated too often #4

Open
whoenig opened this issue Jan 23, 2024 · 4 comments
Open

Broadcasts repeated too often #4

whoenig opened this issue Jan 23, 2024 · 4 comments
Assignees
Labels
bug Something isn't working

Comments

@whoenig
Copy link

whoenig commented Jan 23, 2024

We see very strange behavior when using Crazyswarm2 and Crazyradio2, especially with more than one drones. One of the more obvious causes is that broadcasts are silently repeated inside the radio firmware (likely at

// This test means that ARC will affect broadcast as well: broadcast are going to be send "arc" times
if (ack_received) {
break;
}
). In other words, if we sent 100 motion capture poses per second from the host via broadcast, the Crazyflie actually receives >300. When using the Crazyradio PA, we receive exactly 100 as expected.

@knmcguire
Copy link
Member

Hmm that is indeed odd. I've marked it for triage that we will have in 2 weeks. Until then we unfortunately have a deadline that we need to work on first.

@ataffanel
Copy link
Member

This "functionality" rings a bell and this looks like something I made early in the development phase of the Crazyradio2:

// This test means that ARC will affect broadcast as well: broadcast are going to be send "arc" times
if (ack_received) {
break;
}

So, this means that Crazyradio 2 sends ARC broadcasts in a row by default. I though this would actually be a nice functionality for Crazyswarm when I wrote that, but I was not expecting to make a Crazyradio PA compatible mode back then and I forgot to remove it or document it.

The question is: is that a useful functionality for Crazyswarm of shall we remove it and get back to a single broadcast packet whatever the value of ARC is?

@whoenig
Copy link
Author

whoenig commented Mar 22, 2024

I think in the "compatibility" firmware it should behave like a Crazyradio PA. I did confirm that when setting ARC to 1, that the broadcasts are as expected, but of course this has some effect on unicast as well.

In Crazyswarm(2), we repeat the broadcasts in software with a user-defined delay. We found that just repeating the packets without delay doesn't help that much since consecutive packets are frequently "lost" (perhaps because a queue is full - not sure).

@ataffanel
Copy link
Member

I agree with you, lets make a new version of the firmware that corrects the behavior.

@ataffanel ataffanel added bug Something isn't working triage needed and removed triage needed labels Apr 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants