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

Loss packet in CRTP RX dispatch #434

Closed
ataffanel opened this issue Jun 5, 2019 · 6 comments
Closed

Loss packet in CRTP RX dispatch #434

ataffanel opened this issue Jun 5, 2019 · 6 comments

Comments

@ataffanel
Copy link
Member

When a packet is received, it is dispatched to the correct port. This dispatch is currently using 1 packet queues and if the packet is not pulled fast enough by the port, the packet is just dropped.

We should instead relax a little bit the queues by adding more slot so that the task handling the port has time to get the data. At the same time we can add an ASSERT when a packet is dropped: lets have as a goal to never loose any packet and to design the communication protocol so that the transfer is throttled by design (like only allowing to send a new request when the previous answer has been received or to pull data fast enough in the Crazyflie so that it is not possible to fill up the port queue).

The proposal is to have 16 packets queue for each CRTP RX port.

@NicksonYap
Copy link
Contributor

Hi @ataffanel, does this solve the issue when there are more than 4 Crazyflies per radio?

@ataffanel
Copy link
Member Author

Hi @NicksonYap, it is unlikely to solve this problem. I suspect the problem lies on the other side, in the Crazyflie python lib, we track the bug at bitcraze/crazyflie-lib-python#118.

@NicksonYap
Copy link
Contributor

NicksonYap commented Jun 25, 2019

From what I understood, Crazyswarm should not be facing the 4 Crazyflies per Crazyradio issue, right?
Only python lib?

@ataffanel
Copy link
Member Author

Yes this is correct, Crazyswarm/the ROS Crazyflie driver has been shown to handle at least15 Crazyflies per radio. This is the main reason we suspect the python side for latency with multiple Crazyflie.

@NicksonYap
Copy link
Contributor

NicksonYap commented Jun 25, 2019 via email

@ataffanel
Copy link
Member Author

We have not personally, but the video at the top of Crazyswarm documentation was done with only 3 radios to fly 49 Crazyflies. I have not seen communication problem on 2.4GHz when the Crazyflies are near the ground, if you manage to reproduce the problem please create a ticket about it.

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

2 participants