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

ADSB: Add Sagetech driver #15123

Merged
merged 7 commits into from Sep 15, 2020
Merged

ADSB: Add Sagetech driver #15123

merged 7 commits into from Sep 15, 2020

Conversation

@magicrub
Copy link
Contributor

@magicrub magicrub commented Aug 21, 2020

This adds a driver for the Sagetech ADSB transceiver. The ADSB wiki page is getting a little out of date so I plan to update that as well.

  • Created ADSB_Backend
  • abstracted MAVink specific work into it's own AP_ADSB_MAVLink driver for uAvionix
  • Added Sagetech driver for the XP protocol. There is an MX protocol for newer products that is also available but not yet implemented. This driver is set up prepared for that future protocol and parse for either protocol within this sagetech driver.
  • Sagetech ADSB-in is implemented but not tested. I only had ASSB-out hardware to test with.
  • general rework of a variety of ADSB related minor improvements
  • adds math library of byte parsing to load arrays
  • adds math library to convert math bases (example: dec 12345 to 0x12345)

It would be nice if some people could test with uAvionix Ping products just to sanity check that there is no impact on them.

Code change impact on fmuv1:
Target Text Data BSS Total
without PR (master):
bin/arduplane 967604 1172 195636 1164412
with PR:
bin/arduplane 971292 1172 195636 1168100

delta: 3688 program bytes

@magicrub
Copy link
Contributor Author

@magicrub magicrub commented Aug 24, 2020

This was failing CI on several unrelated code paths and it would fail in a different place when I retriggered CI. I see there's a few autotest related commits in master so rebased. Fingers crossed!

ArduPlane/ArduPlane.cpp Outdated Show resolved Hide resolved
libraries/AP_ADSB/AP_ADSB.cpp Outdated Show resolved Hide resolved
@magicrub magicrub force-pushed the magicrub:pr/adsb_sagetech branch from 72422a0 to 6e08368 Aug 24, 2020
@magicrub magicrub force-pushed the magicrub:pr/adsb_sagetech branch from 6e08368 to a8cdf41 Sep 15, 2020
@magicrub
Copy link
Contributor Author

@magicrub magicrub commented Sep 15, 2020

rebased

@magicrub magicrub force-pushed the magicrub:pr/adsb_sagetech branch from a8cdf41 to e6b50f6 Sep 15, 2020
@magicrub
Copy link
Contributor Author

@magicrub magicrub commented Sep 15, 2020

I just realized that I can use the serial manager protocol as the protocol option and remove this new param from adsb.

@magicrub magicrub force-pushed the magicrub:pr/adsb_sagetech branch from e6b50f6 to 9a9f8d1 Sep 15, 2020
@magicrub
Copy link
Contributor Author

@magicrub magicrub commented Sep 15, 2020

I removed the new param and replaced it with a simple ::detect() call that checks for the already-required serial protocol setting. This means only 1 thing is needed to be set instead of 2 to enable this sensor. This is also an easy way-forward for Sagetech MX and uAvionix's GDL90/UDP drivers which are in the pipeline

@magicrub magicrub merged commit 3cc9853 into ArduPilot:master Sep 15, 2020
4 checks passed
4 checks passed
@azure-pipelines
ArduPilot.ardupilot Build #20200915.32 succeeded
Details
@azure-pipelines
ArduPilot.ardupilot (Cygwin SITL build) Cygwin SITL build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
semaphoreci The build passed on Semaphore.
Details
@tridge
Copy link
Contributor

@tridge tridge commented Oct 6, 2020

this should not have been merged without proper review and testing

@magicrub
Copy link
Contributor Author

@magicrub magicrub commented Oct 6, 2020

@tridge see PR #15517 for revert.

@magicrub magicrub deleted the magicrub:pr/adsb_sagetech branch Dec 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

5 participants