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

Why not use piaware's JSON interface, to eliminate all the hassles of decoding the messages yourself? #21

Open
stephen-hocking opened this issue Jan 23, 2022 · 2 comments
Assignees

Comments

@stephen-hocking
Copy link

It has a list of all the aircraft it's seen in the last 60 seconds, including time time last seen, co-ordinates, altitude, bearing & speed. This would render the adsb-mqtt step unnecessary, and simplify the tracker code.

@mchadwick-iqt
Copy link
Contributor

mchadwick-iqt commented Jan 23, 2022

Completely agree that it would simplify the system dramatically by switching to JSON.

We did an analysis of whether to use the SBS-1 messages and decode ourselves or use the JSON interface. The only technical reason we chose to use SBS-1 was timing. A key thing to know is that position (lat/long) and altitude come in as two separate ADS-B broadcasts at different times with different fix times.

  • ADS-B Position (lat/long) broadcasts include the GPS time when the position was cut/broadcast. This is included in both the SBS-1 output and the JSON interface
  • ADS-B altitude broadcasts also include the GPS time when the altitude was broadcast (altitude reports are separate from position reports in the ADS-B standard). This is included in the SBS-1 output but NOT in the JSON interface. JSON maintains the lat/long position as the source of time and adds on the altitude based on the most recent altitude report.

When does this matter? Really only when climb or descent rates are high - takeoff and landing and the camera close to the aircraft. We extrapolate the 3D trajectory based on the position and altitude times. If the altitude gets stale (missed reception, SDR processing gets overwhelmed, etc), the camera can quickly lose track of the aircraft. We ran into this in the field during testing.

Ultimately preserving this corner case may not be worth the added complexity of maintaining message decoding, but we decided to keep on SBS-1 and not switch to JSON at the time. We had field tested on SBS-1 for >20 hours and are confident in its performance, making the switch would have added technical and schedule risk to the project.

Going to leave this open to re-evaluate this decision

@mchadwick-iqt mchadwick-iqt self-assigned this Jan 23, 2022
@stephen-hocking
Copy link
Author

stephen-hocking commented Jan 23, 2022 via email

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

No branches or pull requests

2 participants