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

Add support for multiple landing sequences #12313

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

rubenp02
Copy link
Contributor

@rubenp02 rubenp02 commented Jan 9, 2025

Add support for multiple landing sequences

Description

Make isLandCommand true for LandingComplexItems.

Change plan drawing in Fly View to match Plan View:

Updated the Fly View's flight plan drawing to match the Plan View, enabling support for discontinuities in missions (unconnected flight legs) in the former.

Key changes:

  • Fly View now uses simpleFlightPathSegments, the same model used by Plan View, to draw flight paths. This enables proper handling of disconnected mission legs, which the previous _waypointPath approach did not support.
  • Flight plan arrows now appear in the same places between the Fly and the Plan Views.
  • Removed the old Fly View drawing logic and related members and properties.

Add support for multiple landing sequences:

Added an option to configure multiple landing sequences in a mission. This feature allows users to define alternative landing sites, which can be useful for contingency planning. When multiple landing sequences are present, the first one is used for the primary mission, but in the event of an RTL, the closest landing sequence will be used, as outlined in the MAVLink spec: https://mavlink.io/en/messages/common.html#MAV_CMD_DO_LAND_START.

Key changes:

  • Disabled the restriction to only one landing sequence.
  • Modified LandingComplexItem to support scanning for multiple complex items, and configuring the DO_LAND_START mission items to contain the coordinates of the first element in the landing sequence.
  • Updated MissionController to handle multiple landing sequences, including proper flight path segment calculation and handling of discontinuities after landing commands.
  • The TerrainProfile displays the entire mission with any possible alternative landing sequences, but the mission stats (distance and time) represent the primary mission, up to the default landing.
  • Added an option in the Plan View settings to control this feature, defaulting to match the previous behavior.

Add support to set Land Start coords to next item:

Added an option in the Plan View settings to automatically set the coordinates of DO_LAND_START mission items to match the next waypoint in the mission. This is used to help find the closest landing sequence in the event of an RTL. This option is disabled by default to match the previous behavior.

Checklist:

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Updated the Fly View's flight plan drawing to match the Plan View,
enabling support for discontinuities in missions (unconnected flight
legs) in the former.

Key changes:
- Fly View now uses simpleFlightPathSegments, the same model used by
  Plan View, to draw flight paths. This enables proper handling of
  disconnected mission legs, which the previous _waypointPath approach
  did not support.
- Flight plan arrows now appear in the same places between the Fly and
  the Plan Views.
- Removed the old Fly View drawing logic and related members and
  properties.
Added an option to configure multiple landing sequences in a mission.
This feature allows users to define alternative landing sites, which can
be useful for contingency planning. When multiple landing sequences are
present, the first one is used for the primary mission, but in the event
of an RTL, the closest landing sequence will be used, as outlined in the
MAVLink spec:
https://mavlink.io/en/messages/common.html#MAV_CMD_DO_LAND_START.

Key changes:
- Disabled the restriction to only one landing sequence.
- Modified LandingComplexItem to support scanning for multiple complex
  items, and configuring the DO_LAND_START mission items to contain the
  coordinates of the first element in the landing sequence.
- Updated MissionController to handle multiple landing sequences,
  including proper flight path segment calculation and handling of
  discontinuities after landing commands.
- The TerrainProfile displays the entire mission with any possible
  alternative landing sequences, but the mission stats (distance and
  time) represent the primary mission, up to the default landing.
- Added an option in the Plan View settings to control this feature,
  defaulting to match the previous behavior.
Added an option in the Plan View settings to automatically set the
coordinates of DO_LAND_START mission items to match the next waypoint in
the mission. This is used to help find the closest landing sequence in
the event of an RTL. This option is disabled by default to match the
previous behavior.
@HTRamsey HTRamsey requested a review from DonLakeFlyer January 9, 2025 12:47
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.

1 participant