| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
ADS-B (1090MHz Mode S extended squitter) decoder in C, built for an RTL-SDR dongle + Raspberry Pi + 3.5" SPI TFT.
Linux / Raspberry Pi
sudo apt install librtlsdr-dev libusb-1.0-0-dev make # builds ./adsb-decoder make test # CRC + parser/CPR unit tests (no hardware needed)
Windows (tests only, no admin required)
PowerShell does not ship with make. Install a user-scoped compiler with winget, then run tests:
winget install BrechtSanders.WinLibs.POSIX.UCRT --scope user
# Restart the terminal so PATH updates, then:
.\test.ps1Alternative (needs an elevated/admin shell):
choco install mingw make
make testSee CONTRIBUTING.md for full setup notes.
./adsb-decoder # uses /dev/fb1 when present, else terminal ./adsb-decoder /dev/fb0 # optional framebuffer path
Ctrl+C stops cleanly. Without a dongle, sdr_open fails and the process exits.
| Module | Status |
|---|---|
| crc.c | Done — Mode S 24-bit CRC |
| sdr.c | Wired to librtlsdr, 1090MHz @ 2Msps |
| demod.c | Preamble detect + PPM bit-slicing (56/112-bit by DF) |
| parser.c | Ident, altitude, velocity, global CPR |
| aircraft.c | Tracking table, staleness pruning, CPR pairing |
| display.c | Framebuffer text (8x8 font) + terminal fallback |
src/ ├── main.c # ties everything together, main loop + signal handling ├── sdr.c/.h # RTL-SDR capture (wraps librtlsdr) ├── demod.c/.h # preamble detection + PPM demodulation ├── crc.c/.h # Mode S CRC check ├── parser.c/.h # DF17 message parsing, CPR decode ├── aircraft.c/.h# tracked aircraft table (ICAO -> state) ├── display.c/.h # SPI framebuffer drawing ├── test_crc.c # CRC unit test └── test_parser.c# ident / altitude / CPR unit test
Contributions are welcome. See CONTRIBUTING.md for setup, style, and pull request guidelines.
This project is licensed under the MIT License.
This project follows the Contributor Covenant Code of Conduct.
| Back | FazBrowse Home | New Git URL |