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

AP_ADSB: uAvionix Transponder Updates #28411

Closed

Conversation

nicholas-inocencio
Copy link
Contributor

@nicholas-inocencio nicholas-inocencio commented Oct 15, 2024

This PR contains updates to the interface with the ping200X. Co-requisite with the MissionPlanner PR ArduPilot/MissionPlanner#3429

Changes:

  • Added parsing for GDL90 Transponder Status V3
    • Fixes buggy behavior when ping200X has both UCP and UCP-HD out protocols enabled
    • Includes new fields for on-ground state, board temperature, NIC, and NACp.
  • Improved behavior when ping200X times out (due to power loss, serial connection error, etc.)
    • UAVIONIX_ADSB_OUT_STATUS_FAULT_STATUS_MESSAGE_UNAVAIL is now 1 if the GDL90 ownship, transponder status, and heartbeat have been missed for 10 seconds, and is otherwise 0 when one of those messages is received. See the co-requisite MissionPlanner PR for changes to how the GCS handles that field.
  • Added support for using the ArduPilot's GPS as a GPS source for the ping200X
    • Previously, the ping200X needed its own GPS (usually a truFYX) connected to it in order to work properly
    • Setting ADSB_OPTIONS=1, which forwarded the AP's GPS data to the transponder, would result in a NIC of UNKNOWN due to an invalid HPL
      • HPL is now estimated using the horizontal accuracy
  • Improved initialization of control message and frontend status
    • Attempts to poll ping200X for config message to set the control message defaults
    • Fixes a display error where a squawk of 0 was listed when the transponder had never been powered before connecting to the GCS

nicholas-inocencio and others added 8 commits October 9, 2024 15:05
+ Current version of ping200X sends the v1 status message periodically and the v3 status message in response to the transponder control message, so ardupilot needs to handle both gracefully; version 1 and version 3 are very different in structure and naively assuming one version over another will cause errors.
+ When AP sends the ping200X the GPS data GDL90 message, it needs to provide a valid HPL for the ping200X to report a valid NIC.
@magicrub
Copy link
Contributor

Hi @nicholas-inocencio. I can help you out on these PRs!

@nicholas-inocencio
Copy link
Contributor Author

Closed due to targeting the wrong branch, opened 28419 which rebases the commits onto master instead.

@magicrub
Copy link
Contributor

replaced by PR #28419

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