-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
VTOL - define MAV_TYPE for belly-sitting non tiltrotor #1808
Merged
Merged
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
b04d93c
VTOL - define MAV_TYPE for belly-sitting non tiltrotor
hamishwillee 46b078a
Apply suggestions from code review
hamishwillee d2f4ccd
Update message_definitions/v1.0/minimal.xml
hamishwillee 0c5f04c
Reorder to allow eventual reuse
hamishwillee d45f25a
Shift items up one to use types from top
hamishwillee File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would we break anything by renaming it directly instead of just remarking that it should be renamed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sfuhrer Sadly yes. Once something has a fixed meaning then it is very hard to change, because if you do then any GCS that updates to the new value will not understand the messages from any vehicle that has not. We know that the update cycle for vehicles is of the order of 5 - 10 years across various flight stacks, so that's not viable.
That is why I am so adamant that we don't assign any meaning to reserved values in the other discussion #1808 (comment) - because if we do then we can't rename them without some degree of management, or do much else with them.
What we could do is create the new value as well and mark the old value as deprecated. I'm in two minds about that approach. On one hand it makes the pattern clear and means that "one day" you might be able to remove the inconsistent value. On the other hand the value is a bit ugly, and still has to exist until that "one day" comes.
I lean towards this approach, but I'd be interested in what both you and @DonLakeFlyer think.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the value remains the same for the new name. And the name MAV_TYPE_VTOL_DUOROTOR is always moved to the dustbin forever and never reused. Then there is no problem renaming. You can note the previous name in the text if you want. It will just cause a GCS to change names as well and recompile. This sort of thing happens all the time when new fields are added to a mavlink message. That causes the need for a code change and recompile as well. All of this continues to work in a forward compat without the code change as well.
Creating a new value for just a rename breaks forward compat without a GCS update.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds OK to me, but will address in a separate PR because this does force a rebuilt for anyone using the item.