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

Pprzlink version byte #81

Open
podhrmic opened this issue Mar 24, 2018 · 5 comments
Open

Pprzlink version byte #81

podhrmic opened this issue Mar 24, 2018 · 5 comments

Comments

@podhrmic
Copy link
Member

Currently, there is no way to determine which Pprzlink version a given message has, so all nodes in the network have to know in advance which version should be used (1 or 2).

Adding a byte (it can be as simple as a different STX byte for Pprzlink 2.0) it would be possible to auto-detect the pprzlink version.

Indeed this is a significant change, so perhaps it can be made optional (like AUTODETECT_PPRZLINK_VERSION=true/false). Easy to implement on GCS side, harder on autopilot side.

This came as a feature request from one user.

What do you think @gautierhattenberger ?

@gautierhattenberger
Copy link
Member

Then I did the version 2 design, I had this in mind, but do to lack of time, I didn't do it in the end. Eventually, we can think about that a bit more to evaluate the impact of this change.
In the past, we actually had a 0x98 corresponding to a "timestamped" version of the messages. It is not used anymore and the code is currently commented. We could probably use it for v2.

@gautierhattenberger
Copy link
Member

also note this will not work with XBee modems using API mode

@podhrmic
Copy link
Member Author

I am not familiar with the XBee API mode - but I guess the problem is that XBee uses a different STX? We could add a version byte in a similar way to MAVLINK, but that breaks backward compatibility which some might feel strongly about. Leaving it open for now, as I am not sure about next steps.

@OpenUAS
Copy link
Contributor

OpenUAS commented Dec 5, 2019

The way forward to close this issue could be to add STX byte 0x98 for v1 as change not v2. If no one is bothered by it in a certain grace period we can assume v1.0 is "DEAD" and unused so no need for backwards compatibility?

@gautierhattenberger
Copy link
Member

In which case the version of pprzlink is not matching between the GCS and an airframe ? You should have either reflashed the autopilot or have a fail at md5sum check, don't you ?

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

No branches or pull requests

3 participants