1 unstable release
Uses old Rust 2015
0.0.1 | Jul 5, 2017 |
---|
#15 in #gnss
145KB
3K
SLoC
Name
Pitot - a customizable aviation information receiver
Disclaimers
Please note that Pitot is only an aid of situational awareness and should not be used as the primary source of obtaining flight related information. The Pilot-in-command always assumes the responsibility of ensuring the safe outcome of any flight they operate.
The software is still under heavy development and may not be feature complete and may contain bugs. Use at your own risk.
Latest release
pitot-v0.0.1-alpha-debug.img.zip
sha256: 08e15ce2c053a1a2fc6049cddaa6be6afe472cff0ca289f95f61c661abc37f05
GPG signature: pitot-v0.0.1-alpha-debug.img.zip.sig
All Pitot releases are signed using Datong's PGP key CF7004EE981151C8.
Supported
Motherboard
- Raspberry Pi 3
Need confirmation
- Older Raspberry Pi models
EFB
Notice that I currently only have ForeFlight available on my iPad, Pitot likely supports much more EFB than listed here but not all of them has been tested.
If you have tested Pitot with your EFB and confirmed it is working, please open a Pull Request to update this list.
- ForeFlight 9 on iOS
- Avare with Avare External IO on Android (confirmed by @D35Bonanza)
GNSS
- U-blox over GPIO (such as RY83xAI)
Planned
- High priority: U-blox over USB (should be easy to integrate but disabled for now as I do not have necessary hardware for testing)
- Low priority: Generic GPS with NMEA protocol
SDR
- Any RTL based SDRs
Products
- ADS-B, ADS-R and TIS-B traffic (978 UAT and 1080 ES)
- All FIS-B products (978 UAT)
Planned
- Medium priority: AHRS
Protocol/Transport
- GDL90 over UDP
- WebSocket (still under development)
Planned
- High priority: GDL90 message buffering when client is sleeping
- High priority: Web interface or control App
- Low priority: Serial output for EFIS integration
Recommended hardware build
- Raspberry Pi 3 Motherboard
- SanDisk 16GB Micro SDHC card
- Stratux low power SDRs and antennas
- 6000mAh pass-through charging battery pack
- Any casing you like with calling fan (Stratux case works as well)
- RY836AI WAAS enabled GPS with IMU and baro sensor
Getting started
First, program your SD card using the latest release image.
For Mac users, you may use Pi Filler. For Windows users, check out this article from Raspberry Pi Foundation.
If you need instructions for doing this on Linux, you should probably consider use something else :)
Next, insert the SD card into your Raspberry Pi's card slot, observe the correct side with the pins before inserting.
Now, power on your Raspberry Pi and give it up to 3 minutes to finish up initial setup.
You may observe the Pitot
Wi-Fi showing up but unable to connect, this is normal
when first powered on and DO NOT unplug the power cable until Raspberry Pi has finished
the setup process. If you have lost power before the setup process is completed and you
believe your SD card is bad, simply reprogram the card and try again.
During the setup, your Raspberry Pi will reboot multiple times to expand partitions and
setup the readonly file system. As soon as you are able to connect to the Pitot
Wi-Fi and
observe data flowing into your EFB, the setup has been completed. If you are unsure, just wait
3 minutes and it will be finished and ready for use.
To power off Pitot simply unplug the power cable, like how you shutdown any avionics inside your airplane. Pitot uses readonly file system while running and otherwise does not write to the partition and thus a complete Linux shutdown is neither expected nor necessary.
Currently Pitot works pretty much out of the box, with minimum configuration required.
For Pitot to use your installed SDRs for 1090 and/or 978 reception, you must program
the serial of the SDRs to contain strings 1090
or 978
respectively.
Pitot will not use the SDR at all unless it includes those strings (aka. no guessing).
For GNSS module, Pitot will detect whether your Ublox chip is running the 3.01 firmware and will enable Galileo constellation tracking automatically.
Contributing
Please check out DEVELOPING.md for guides on how to develop, test, build and contribute to Pitot.
Any improvements are welcomed! However, if you don't have anything specific in mind, planned features as mentioned above are a good way to get started!
Integrating
If you want to integrate Pitot with your EFB, please check out INTEGRATION.md for more information.
Helps and discussions
- Mailing list/forum for general discussions
- Mailing list for announcements
- Development discussions - GitHub Issues
We recommend you always subscribe to the announcement mailing list for notifications on new releases. It is a moderated mailing list and is expected to be extremely low on traffic.
You must join the general discussions forum before you can post in it. There is an option while joining to optionally receive email notifications from the general discussion forum. Keep in mind the traffic in the forum might be high and should you choose to receive email, receiving them in digest is highly recommended.
Credits
- The Stratux project by Christopher Young for his great work in making the first open source ADS-B receiver and open sourcing it. Some algorithms used by Pitot, especially the UAT parsing function were heavily borrowed from the Stratux project.
Copyright and License
This project is licensed under the GPLv3 license.
Copyright (C) 2017 Datong Sun (dndx@idndx.com)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Dependencies
~12MB
~236K SLoC