|
||
---|---|---|
font | ||
.DS_Store | ||
.gitignore | ||
Aircraft.cpp | ||
Aircraft.h | ||
AircraftList.cpp | ||
AircraftList.h | ||
anet.c | ||
anet.h | ||
AppData.cpp | ||
AppData.h | ||
drawPolys.REMOVED.git-id | ||
dump1090.h | ||
getmap.sh | ||
Input.cpp | ||
Input.h | ||
interactive.c | ||
magma.h | ||
Makefile | ||
Map.cpp | ||
Map.h | ||
mapbox_testing | ||
mapconverter.py | ||
mode_ac.c | ||
mode_s.c | ||
monokai.c | ||
monokai.h | ||
net_io.c | ||
out.prof.REMOVED.git-id | ||
parula.c | ||
parula.h | ||
README.md | ||
run_viz1090.sh | ||
seen | ||
View.cpp | ||
View.h | ||
view1090.bak | ||
view1090.dsp | ||
view1090.h | ||
viz1090.cpp | ||
winstubs.h |
viz1090
This is work in progress There are a lot of missing pieces in this implementation so far:
- A proper map system yet. Eventually map data should be pulled from Mapbox or similar.
- In-application menus or configuration yet.
- Theming/colormaps (important as this is primarily intended to be eye candy!)
- Integration with handheld features like GPS, battery monitors, buttons/dials, etc.
- Android build is currently broken
BUILDING
Tested and working on Ubuntu 18.04, Raspbian Stretch / Buster, Windows Subsystem for Linux (with Ubuntu 18.04)
- Install build essentials
sudo apt-get install build-essentials
- Install SDL and RTL-SDR libararies
sudo apt-get install libsdl2-dev libsdl2-ttf-dev libsdl2-gfx-dev librtlsdr-dev
Note: On Raspbian the SDL2 package requires X to be running. See the Raspberry Pi section for notes on running from the terminal and other improvements.
- Download and build spidr
cd ~
git clone https://www.github.com/nmatsuda/spidr
cd spidr
make clean; make
- Download and process map data Until more comprehensive map source (e.g., Mapbox) is integrated, viz1090 uses the lat/lon SVG files from https://www.mccurley.org
The getmap.sh pulls the svg file for the contiguous 48 US states and produces a binary file for viz1090 to read.
sudo apt install python3 python3-pip
pip3 install lxml numpy tqdm
./getmap.sh
- (optional for Windows)
As WSL does not have an X server built in, you will need to install a 3rd party X server, such as https://sourceforge.net/projects/vcxsrv/
* run Xlaunch from the start menu
* Uncheck "Use Native openGL"
* Open the Ubuntu WSL terminal
* Specify the X display to use
```
export DISPLAY=:0
```
* Start viz1090 as described below.
RUNNING
- Start dump1090 (http://www.github.com/MalcolmRobb/dump1090) locally in network mode:
dump1090 --net
- Run viz1090
./viz1090 --fullsceen --lat [your latitude] --lon [your longitude]
viz1090 will open an SDL window set to the resolution of your screen.
RUNTIME OPTIONS
Argument | Description |
---|---|
--server [domain name or ip] | Specify a dump1090 server |
--port [port number] | Specify dump1090 server port |
--metric | Display metric units |
--lat | Specify your latitude in degrees |
--lon | Specify your longitiude in degrees |
--screensize [width] [height] | Specify a specific resolution to pass to SDL_RenderSetLogicalSize, otherwise use resolution of display |
--uiscale [scale] | Scale up UI elements by integer amounts for high resolution screen |
--fullscreen | Render fullscreen rather than in a window |
HARDWARE NOTES
This software was originally intended for Raspberry Pi devices, and it is currently optimized for the Raspberry Pi 4 with the following configuration:
- Raspberry Pi 4
- A display:
- Pimoroni HyperPixel 4.0 Display *best overall, but requires some rework to use battery monitoring features of the PiJuice mentioned below
- Waveshare 5.5" AMOLED *this is very good screen but the Google Pixel 2 phone mentioned below has a very similar display for the same price (along with everything else you need in a nice package)
- Waveshare 4.3" HDMI(B)
- Adafruit 2.8" Capacitive Touch
- A battery hat, such as:
- PiJuice Battery Hat *I2C pins must be reworked to connect to the Hyperpixel nonstandard I2C breakout pins, unfortunately
- MakerFocus UPS Hat
- Any USB SDR receiver:
- Noelec Nano V3
- Stratux V2 *very low power but hard to find
If running as a front end only, with a separate dump1090 server, the best option is to use an Android phone, such as the Pixel 2, which significantly outperforms a Raspberry Pi 4.
viz1090 has been tested on other boards such as the UP Core and UP Squared, but these boards have poor performance compared to a Raspberry Pi 4, along with worse software and peripheral support, so they are not recommended. viz1090 with a low resolution map will run on these boards or even a Raspberry Pi Zero, so these remain options with some tradeoffs.
Of course, a variety of other devices work well for this purpose - all of the development so far has been done on a touchscreen Dell XPS laptop.
Credits
viz1090 is largely based on dump1090 (Malcom Robb, Salvatore Sanfilippo)