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

Make 1 in 10 HEARTBEATS from the MAV get broadcasted so new GCSes can find the Backpack #153

Draft
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

MUSTARDTIGERFPV
Copy link
Member

If we always unicast, then a newly-arrived GCS won't be able to connect since the MAVLink traffic will be going to the IP of the old GCS until we receive a heartbeat from the new GCS - which we won't because it's not seeing heartbeats. This broadcasts 1/10 heartbeats so that newly-joining GCSes can find the Backpack.

@MUSTARDTIGERFPV MUSTARDTIGERFPV requested a review from wvarty August 10, 2024 05:21
@MUSTARDTIGERFPV MUSTARDTIGERFPV marked this pull request as draft August 10, 2024 05:28
@MUSTARDTIGERFPV
Copy link
Member Author

This causes the Pkts Lost counter in MP to count up incorrectly because we've broken packet ordering; I'll fix this.

@jiri-jirus
Copy link

multiple connection will work badly, because backpack devWIfi.cpp assumes that there will be only one client, which IP address gets stored into one variable "gcsIP" - which will get reset every time UDP packet is received from any host... so real speed will be appalling

@MUSTARDTIGERFPV
Copy link
Member Author

multiple connection will work badly, because backpack devWIfi.cpp assumes that there will be only one client, which IP address gets stored into one variable "gcsIP" - which will get reset every time UDP packet is received from any host... so real speed will be appalling

Yes, that's exactly how multiple connections would work. The idea of this is to improve the process of switching GCSes without requiring a restart of the backpack.

@jiri-jirus
Copy link

jiri-jirus commented Oct 1, 2024

well sorry, instead of multiple I mean "concurrent". which is, I hope, not supposed to work this way.
btw, mavesp8266 works by having a timeout on heartbeat from GCS, which makes much more sense in this state of concurrent GCS support.

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

Successfully merging this pull request may close these issues.

2 participants